Konsep Algoritma Kriptografi pada Identitas Pasien

Posted: February 18, 2013 by Ujang Carmana in C Sharp, deskripsi, Enkripsi, Network Security, Server, TCP Socket

Hal yang paling penting untuk diterapkannya sistem keamanan adalah identitas pasien, karena semua data dapat berguna jika mengetahui pemilik data yang bersangkutan. Untuk memperkuat sistem keamanan pada identitas pasien akan diterapkan sistem kriptografi dengan keluaran hasil sepanjang  32 bit atau 32 digit huruf dan/atau angka. Konsep yang digunakan dalam pembuatan keamanan ini adalah dengan menggunakan kunci simetrik (symmetric key) sehingga pemecahan rumusan deskripsi akan sama dengan rumusan dalam pembuatan enkripsi, akan tetapi rumusan deskripsi merupakan kebalikan dari rumusan enkripsi.

Berikut konsep algoritma dalam pembuatan keamanan kriptografi pada identitas pasien.

Konsep Algoritma Keamanan Identitas Pasien

Konsep Algoritma Keamanan Identitas Pasien

Keterangan :

Nilai    : nilai identitas pasien

A         : nilai penyangga satu dengan nilai “ABCDEFG0”

B         : nilai penyangga dua dengan nilai “ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”

C         : nilai penyangga tiga dengan nilai “FEDCBA98”

D         : nilai penyangga empat dengan nilai “76543210”

E          : nilai penyangga lima dengan nilai “ITBD4B05”

B’        : hasil random dari nilai B

C’        : hasil proses antara nilai dan C

A’        : hasil proses antara A dan C

Hasil    : gabungan dari nilai E, B’, C’, A’

Source kriptografi identitas pasien sebagai berikut:

....
....
Console.WriteLine("\n\n-----------------------------------------------------------------------");
Console.WriteLine("\t\t\t   SECURITY ENKRIPSI !!!");
Console.WriteLine("-----------------------------------------------------------------------\n");

string id = "ITBD4B05";
....
....
....
double angka0 = (Convert.ToDouble(nilai_ukur) * 100);
int angka1 = (Convert.ToInt32(angka0));
int pelengkap = 1000000000;
Console.WriteLine("\t\t\tIdentitas Pasien = {0},", nilai_ukur + "\n\n");
Console.WriteLine("Test Kriptografi Algoritma ID !!!");
Console.WriteLine("Nilai ID : {0}", id);

Console.WriteLine("\n\nTest Kriptografi Algoritma B !!!");
Console.WriteLine("Nilai B : {0}", b);

var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var randoms = new Random();
var result = new string(Enumerable.Repeat(chars, 8).Select(s => s[randoms.Next(s.Length)]).ToArray());
 Console.WriteLine("Nilai random : {0}", result);

Console.WriteLine("\n\nTest Kriptografi Algoritma Nilai!!!");                     //algoritma gabungan nilai dengan penyangga
int al1a = Int32.Parse(c, System.Globalization.NumberStyles.HexNumber);          //convert hex "FECD" ke int
int al1b = Int32.Parse(c1, System.Globalization.NumberStyles.HexNumber);          //convert hex "BA98" ke int
int al1c = angka1 + al1a + al1b + pelengkap;
Console.WriteLine("Nilai input + penyangga   = {0}", al1c.ToString("X"));

            Console.WriteLine("\n\nTest Kriptografi Algoritma X!!!");
            int al2 = Int32.Parse(a1, System.Globalization.NumberStyles.HexNumber);
            int al2a = Int32.Parse(a, System.Globalization.NumberStyles.HexNumber);
            int al2b = Int32.Parse(d, System.Globalization.NumberStyles.HexNumber);
            int al2c = al2 + al2a + al2b;
            Console.WriteLine("Nilai Penyangga D  = {0}", al2c.ToString("X"));

            string hasilakhir = id + result + al1c.ToString("X") + al2c.ToString("X");
            Console.WriteLine("\n\nHasil Akhir Enkripsi data = {0}", hasilakhir);

            int panjangdataakhir = hasilakhir.Length;
            Console.WriteLine("Jumlah panjang data : {0}", panjangdataakhir);

Console.WriteLine("\n\n-----------------------------------------------------------------------");
Console.WriteLine("\t\t\t   SECURITY DESKRIPSI !!!");
Console.WriteLine("-----------------------------------------------------------------------\n");

....
....
....
string hasilenkrip = hasilakhir;
Console.WriteLine("Nilai Ekripsi Pengukuran : {0}", hasilenkrip);

int hasilenkrip1 = hasilenkrip.Length;
Console.WriteLine("Jumlah panjang data : {0}", hasilenkrip1);

string parsing = hasilenkrip;
string[] n = parsing.Select(v => v.ToString()).ToArray();

            string parsing1 = n[0] + n[1] + n[2] + n[3] + n[4] + n[5] + n[6] + n[7];
            string parsing2 = n[8] + n[9] + n[10] + n[11] + n[12] + n[13] + n[14] + n[15];
            string parsing3 = n[16] + n[17] + n[18] + n[19] + n[20] + n[21] + n[22] + n[23];
            string parsing4 = n[24] + n[25] + n[26] + n[27] + n[28] + n[29] + n[30] + n[31];

            Console.WriteLine("Hasil Parsing 1 :{0}", parsing1);
            Console.WriteLine("Hasil Parsing 2 :{0}", parsing2);
            Console.WriteLine("Hasil Parsing 3 :{0}", parsing3);
            Console.WriteLine("Hasil Parsing 4 :{0}", parsing4);

            //Mencari deskripsi pengukuran (parsing3)
            int desk1 = Int32.Parse(parsing3, System.Globalization.NumberStyles.HexNumber);
            int des1 = Int32.Parse(X4, System.Globalization.NumberStyles.HexNumber);
            int des2 = Int32.Parse(X5, System.Globalization.NumberStyles.HexNumber);
            double desk2 = (desk1 - X7 - des1 - des2);
            double desk3 = desk2 / 100;
Console.WriteLine("\nHasil Deskripsi Tahap 1 :{0}", desk1);
Console.WriteLine("Hasil Deskripsi Tahap 2 :{0}", desk2);
Console.WriteLine("Hasil Deskripsi Tahap 3 :{0}", desk3);
....
....

Hasil keluaran pada keamanan ini adalah sebagai berikut.

Kriptologi Identitas Pasien

Kriptografi Identitas Pasien

Demikianlah progres proyek pada kesempatan kali ini. Semoga bermanfaat dan salam sukses.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s