İnkâr edilebilen şifreleme (İngilizce: Deniable encryption), kriptografi ve steganografide kullanıcılarına şifrelenmiş bir bilginin varlığını inandırıcı şekilde inkâr edebilme imkânını sunan, karşı tarafı aldatmak için kullanılan usuldur.
İşleme şekli
Bu usulde ele geçirilen kişi, şifreleme sisteminin hileli anahtarını söyler, karşı taraf anahtarı kullanarak sistemdeki açık bilgiye ulaştığını sanır, ancak aslında elde ettiği bilgi yanlıştır, zira ona yanlış (hileli anahtar) verilmiştir.
Bu durum kolay bir örnek ile açıklanabilir.
Amacımız iki anahtar çıkarmak ve anahtarlardan birisini gerçek bilgiyi açmak için, diğerini ise inkâr etmek için kullanacağız.
Açık ileti: SabahMarsta
İnkâr iletisi: SabahAyda
Anahtar: 2
İnkâr anahtarı: 3
Algoritma ilk evvel anahtarla açık iletiyi, daha sonra inkâr iletisini şifreler. Daha sonra iki şifrelenmiş metni birleştirerek şifreli iletiyi ortaya çıkarır. Şifrelenmiş metin herhangi bir yolla ele geçirilirse karşı tarafı aldatmak için açık iletinin anahtar ile şifrelenmiş halini ve inkâr anahtarını verir. Karşı taraf da şifreli iletiden bu iletiyi çıkararak yanlış bilgiyi ele geçirir.
C++ kodu
#include <iostream> using namespace std; void surushdur(char ileti[], int anahtar){ int i=0; while (mesaj[i]!='\0'){ ileti[i]+=anahtar; if (ileti[i]>122) ileti[i]-=26; i++; } } void topla(char ileti1[],char ileti2[]){ int i = 0; while(ileti1[i]!='\0'){ int temp = ileti1[i]+ileti2[i]; while(temp>122) temp-=26; ileti1[i]=temp; i++; } } int main() { char acik[100] = "SabahMarsta"; char inkâr[100] = "SabahAyda"; int anahtar = 2; int inkâranahtar = 3; surushdur(acik, anahtar); surushdur(inkar, inkâranahtar); printf("Sifreli acik: %s\n", acik); printf("Sifreli inkâr: %s\n", inkâr); topla(acik,inkar); printf("toplanmis: %s\n",acik); } sonucu Sifreli acik: UcdcjOctufc Sifreli inkâr: VdedkDbgd toplanmis: wyaymywsqfc
Analizi
Kodun çıkışından da anlaşılacağı üzere şifreli ileti olarak toplanmış ileti gönderilecek. Bu iletiyi alan karşı taraf iletiyi açmak için aşağıdaki kaideyi kullanacak:
açık ileti = toplanmış - şifreli inkâr - anahtar
Bu kaide sonucunda, "SabahMarsta" iletisi alınacak.
Herhangi bir şekilde karşı tarafın aldatılması istendiğinde ise aşağıdaki kaide kullanılacak:
inkâr iletisi = toplanmış - şifreli açık - inkâr anahtarı
Bu kaide sonucunda, "SabahAyda" iletisi bulunacak ve karşı taraf anahtarları girdikten sonra bulduğu bu iletiyi doğru sanacak.
Kaynakça
- ^ Bkz.A. Czeskis, D. J. St. Hilaire, K. Koscher, S. D. Gribble, T. Kohno & B. Schneier. . 27 Haziran 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Temmuz 2013..
Kriptoloji ile ilgili bu madde seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Inkar edilebilen sifreleme Ingilizce Deniable encryption kriptografi ve steganografide kullanicilarina sifrelenmis bir bilginin varligini inandirici sekilde inkar edebilme imkanini sunan karsi tarafi aldatmak icin kullanilan usuldur Isleme sekliBu usulde ele gecirilen kisi sifreleme sisteminin hileli anahtarini soyler karsi taraf anahtari kullanarak sistemdeki acik bilgiye ulastigini sanir ancak aslinda elde ettigi bilgi yanlistir zira ona yanlis hileli anahtar verilmistir Bu durum kolay bir ornek ile aciklanabilir Amacimiz iki anahtar cikarmak ve anahtarlardan birisini gercek bilgiyi acmak icin digerini ise inkar etmek icin kullanacagiz Acik ileti SabahMarsta Inkar iletisi SabahAyda Anahtar 2 Inkar anahtari 3 Algoritma ilk evvel anahtarla acik iletiyi daha sonra inkar iletisini sifreler Daha sonra iki sifrelenmis metni birlestirerek sifreli iletiyi ortaya cikarir Sifrelenmis metin herhangi bir yolla ele gecirilirse karsi tarafi aldatmak icin acik iletinin anahtar ile sifrelenmis halini ve inkar anahtarini verir Karsi taraf da sifreli iletiden bu iletiyi cikararak yanlis bilgiyi ele gecirir C kodu include lt iostream gt using namespace std void surushdur char ileti int anahtar int i 0 while mesaj i 0 ileti i anahtar if ileti i gt 122 ileti i 26 i void topla char ileti1 char ileti2 int i 0 while ileti1 i 0 int temp ileti1 i ileti2 i while temp gt 122 temp 26 ileti1 i temp i int main char acik 100 SabahMarsta char inkar 100 SabahAyda int anahtar 2 int inkaranahtar 3 surushdur acik anahtar surushdur inkar inkaranahtar printf Sifreli acik s n acik printf Sifreli inkar s n inkar topla acik inkar printf toplanmis s n acik sonucu Sifreli acik UcdcjOctufc Sifreli inkar VdedkDbgd toplanmis wyaymywsqfcAnaliziKodun cikisindan da anlasilacagi uzere sifreli ileti olarak toplanmis ileti gonderilecek Bu iletiyi alan karsi taraf iletiyi acmak icin asagidaki kaideyi kullanacak acik ileti toplanmis sifreli inkar anahtar Bu kaide sonucunda SabahMarsta iletisi alinacak Herhangi bir sekilde karsi tarafin aldatilmasi istendiginde ise asagidaki kaide kullanilacak inkar iletisi toplanmis sifreli acik inkar anahtari Bu kaide sonucunda SabahAyda iletisi bulunacak ve karsi taraf anahtarlari girdikten sonra buldugu bu iletiyi dogru sanacak Kaynakca Bkz A Czeskis D J St Hilaire K Koscher S D Gribble T Kohno amp B Schneier 27 Haziran 2014 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Temmuz 2013 Kriptoloji ile ilgili bu madde taslak seviyesindedir Madde icerigini genisleterek Vikipedi ye katki saglayabilirsiniz