Simon (şifreleme)

küçükresim|Simon Simon, Haziran 2013'te Ulusal Güvenlik Ajansı (NSA) tarafından halka açık bir şekilde yayınlanmış bir hafif blok şifreleme ailesidir. Simon, donanım uygulamaları için optimize edilmişken, kardeş algoritması Speck, yazılım uygulamaları için optimize edilmiştir. NSA, 2011 yılında Simon ve Speck şifreleri üzerinde çalışmaya başlamıştır. Ajans, ABD federal hükûmetindeki bazı ajansların kabul edilebilir bir güvenlik seviyesinde, çeşitli Nesnelerin İnterneti cihazlarında iyi çalışacak bir şifreleme algoritmasına ihtiyaç duyacağını öngörmüştür. == Şifrenin tanımı == Simon blok şifresi, n- bit kelimeli bir dengeli Feistel şifresidir ve blok uzunluğu 2 n'dir. Anahtar uzunluğu(m), n'nin 2, 3 veya 4 katıdır. Bu nedenle, bir Simon şifreleme uygulaması Simon2n/nm olarak gösterilebilir. Örneğin, Simon64/128, 64-bitlik düz metin bloğunda (n = 32), 128 bit anahtar kullanmaktadır. Blok yapısı Simon implementasyonları arasında aynıdır, ancak anahtar oluşturma adımları seçilen anahtar uzunluğuna göre farklılık göstermektedir. Simon aşağıdaki blok boyutu, anahtar boyutu ve tur sayısı kombinasyonlarını destekler: Blok boyutu (bit) Anahtar boyutu (bit) Tur sayısı 32 64 32 48 72 36 96 36 64 96 42 128 44 96 96 52 144 54 128 128 68 192 69 256 72 === Anahtar çizelgesinin tanımı === S^{j}, j bit sola doğru dairesel kaydırmaolsun. Anahtar çizelgesi matematiksel olarak aşağıdaki şekilde tanımlanır: k_{i+m} = \left\\{ \begin{array}{ll} c\oplus\left(z_j\right)_i\oplus k_i \oplus\left(I\oplus S^{-1}\right)\left(S^{-3}k_{i+1}\right),&m;=2\\\ c\oplus\left(z_j\right)_i\oplus k_i \oplus\left(I\oplus S^{-1}\right)\left(S^{-3}k_{i+2}\right),&m;=3\\\ c\oplus\left(z_j\right)_i\oplus k_i \oplus\left(I\oplus S^{-1}\right)\left(S^{-3}k_{i+3}\oplus k_{i+1}\right),&m;=4\\\ \end{array}\right. Anahtar çizelgesi yapısı dengeli olmayabilir. Anahtar kelime sayısı m, anahtar genişlemesinin yapısını belirlemek için kullanılır ve toplam bit genişliği m*n olur. Anahtar kelime genişlemesi; sağa kaydırma, XOR ve sabit bir diziden oluşmaktadır. z_xHer turda bir kez anahtar kelimenin en düşük bitine uygulanmaktadır. ==== Sabit dizinin tanımı ==== Sabit dizi, z_x , Linear Feedback Shift Register (LFSR) tarafından oluşturulur. Dizilerin sıralaması, anahtar ve blok boyutlarının değerlerine göre belirlenmektedir. LFSR, 5 bit alan ile oluşturulur. Her turda bir kere, anahtar çizelgesine anahtara bağlı olmayan entropi eklemek için en düşük bitte uygulanmaktadır. LFSR'nin her dizi için farklı yapısı vardır ancak, şifreleme için başlangıç durumu aynıdır. Şifre çözme için LFSR'nin başlangıç durumu turlar arası değişir. Sabit Dizi z_0 = 11111010001001010110000111001101111101000100101011000011100110 z_1 = 10001110111110010011000010110101000111011111001001100001011010 z_2 = 10101111011100000011010010011000101000010001111110010110110011 z_3 = 11011011101011000110010111100000010010001010011100110100001111 z_4 = 11010001111001101011011000100000010111000011001010010011101111 Kriptanaliz Tasarımcılar, Simon'ın "hafif" bir şifre olmasına rağmen, standart seçilmiş düz metin (CPA) ve seçilmiş şifreli metin (CCA) saldırılarına karşı her blok ve anahtar boyutu için mümkün olan tam güvenliğe sahip olacak şekilde tasarlandığını iddia ediyor. İlişkili anahtar saldırılara karşı direnç de bir hedef olarak belirtildi ancak bu modeldeki saldırılar tipik kullanım durumları ile ilgili olmadığı için daha az önemli bir hedef. [9] : 2 Bilinen anahtar ayırt edici saldırı modelinde saldırılara direnmek için hiçbir çaba gösterilmedi ve tasarımcılar Simon'u bir karma işlevi olarak kullanmak için değerlendirmediler . [10]. 2018 itibarıyla, herhangi bir varyanttan tam kapsamlı Simon'a başarılı bir saldırı bilinmemektedir. Simon ve Speck'e olan ilgi nedeniyle, üzerlerinde yaklaşık 70 kriptanaliz makalesi yayınlandı. [9] : 10 Yinelenen şifreler için tipik olduğu gibi, azaltılmış tur varyantları başarıyla saldırıya uğradı. Standart saldırı modelinde (bilinmeyen anahtarlı CPA/CCA) Simon'a yapılan en iyi yayınlanmış saldırılar, diferansiyel kriptanaliz saldırılarıdır. Bunlar, çoğu varyantın turlarının yaklaşık %70-75'ini başarır, ancak bu en iyi saldırılar kaba kuvvetten yalnızca marjinal olarak daha hızlıdır . [11] [12] [13] [9] : 12 Tasarım ekibi, Simon'u tasarlarken, diferansiyel saldırıları sınırlayıcı saldırılar, yani en çok raundda başarılı olan saldırı türü olarak bulduklarını belirtiyor; daha sonra AES- 128'lere benzer bir güvenlik marjı bırakacak tur sayısını yaklaşık %30 olarak ayarlarlar. [9] : 12-13 Simon'a yapılan bilinen en iyi saldırılar (standart saldırı modelinde) Variant Rounds attacked Time complexity Data complexity Attack type Simon128/256 53/72 (74%) 2248 2127.6 Linear Hull Simon128/192 51/69 (74%) 2184 2127.6 Linear Hull Simon128/128 49/68 (72%) 2120 2127.6 Linear Hull Simon96/144 38/54 (70%) 2136 295.2 Linear Hull Simon96/96 37/52 (71%) 288 295.2 Linear Hull Simon64/128 31/44 (70%) 2120 263.5 Linear Hull Simon64/96 30/42 (71%) 288 263.5 Linear Hull Simon48/96 25/36 (69%) 280 247.9 Linear Hull Simon48/72 24/36 (67%) 256 247.9 Linear Hull Simon32/64 24/32 (75%) 263 232 Integral Simon, ChaCha20 gibi daha muhafazakar şifrelere kıyasla çok küçük bir güvenlik marjına sahip olduğu için yani en iyi saldırılar ve tam şifre arasında çok az tur olduğu için eleştirildi . [14] . Küçük güvenlik marjlarına sahip şifrelerin, kriptanalizdeki gelecekteki gelişmeler tarafından kırılması daha olasıdır . Simon'ın tasarım ekibi, özellikle hafif cihazlarda gereksiz derecede büyük güvenlik marjlarının gerçek bir dünya maliyeti olduğunu, tasarım aşamasında kriptanalizin tur sayısının uygun şekilde ayarlanmasına izin verdiğini ve AES'in güvenlik marjını hedeflediklerini söylüyor. [9] : 17 Simon, anahtar programa yuvarlak bir sayaç ekler . Tasarımcılar, bunun kayma ve rotasyonel kriptanaliz saldırılarını engellemek için dahil edildiğini belirtiyor. [9] : 16 Speck gibi ilgili şifrelerin azaltılmış yuvarlak sürümlerine karşı ayırt ediciler bulmak için rotasyonel-XOR kriptanalizi kullanılmıştır . [15] Yazarlar, ayırıcılarına dayalı olarak standart anahtar kurtarma saldırılarını tanımlamasalar da, belirli zayıf anahtarlar için bilinen anahtar ayırt edici saldırı modelinde en iyi ayırıcıları Simon32 ve Simon48'dir. Sınıflar, en iyi diferansiyel ayırıcılardan biraz daha fazla tur atıyor. Yazarlardan biri, araştırmasının kaynak kısıtlı olduğunu ve daha fazla turda rotasyonel-XOR ayırıcılarının muhtemelen mümkün olduğunu söyledi. Tasarımcılar ayrıca, Simon'ın bilinen anahtar ayırt edici saldırılara (şifrelerin gizliliğini doğrudan tehlikeye atmayan) direnmek için tasarlanmadığını belirtiyorlar. [10] : 8 Tasarımcılar, NSA kriptoanalizinin, algoritmaların hiçbir zayıf yanı olmadığını ve anahtar uzunluklarıyla orantılı güvenlik bulduğunu belirtiyor. [8] : 2. Tasarım ekibi, kriptanalizlerinin Matsui'nin algoritması ve SAT/SMT çözücüleri gibi standart teknikleri kullanan doğrusal ve diferansiyel kriptanalizi içerdiğini söylüyor, ancak kullanılan tekniklerin tam listesi verilmemiş. [9] : 10 Simon'ın tasarımcıları, şifrelerin NSA kriptanalizi hakkında daha fazla ayrıntı sağlamadıkları için eleştirildi. [16] NSA, Simon128/256 ve Speck128/256'yı ABD Ulusal Güvenlik Sistemlerinde kullanım için onayladı ancak AES-256 kısıtlamasız uygulamalar için hala tavsiye ediliyor. [17]. Standardizasyon çabaları ve tartışmalar Simon ve Speck'i standartlaştırmaya yönelik ilk girişimler, sürecin gerektirdiği Uluslararası Standardizasyon Örgütü süper çoğunluğunu karşılayamadı ve şifreler kabul edilmedi. [18] [16] Almanya, Japonya ve İsrail de dahil olmak üzere birçok ülkeden ISO'ya uzmanlar, NSA'nın Simon ve Speck şifrelerini standartlaştırma çabalarına karşı çıkarak, NSA'nın kendi standartlaştırması için zorladığı endişelerini dile getirdiler. Konum, şifrelerdeki zayıflıkların kısmi kanıtlarına, yeni şifrelerin standardizasyonuna yönelik açık ihtiyaç eksikliğine ve NSA'nın arka kapılı Dual_EC_DRBG şifreleme algoritmasının oluşturulmasına ve tanıtımına daha önce dahil olmasına dayanıyordu.[19] Endişelere yanıt olarak, NSA, dünyanın önde gelen kriptograflarından bazılarına ait 70'ten fazla güvenlik analizi raporunun, NSA'nın algoritmaların güvenli olduğu yönündeki sonucunu desteklediğini ve NSA'nın, kendisinin veya başka birinin bunu yapmasına izin verecek herhangi bir kriptanalitik tekniğin farkında olmadığını teyit ettiğini belirtti. Simon veya Speck'i kullanın. Şifreleri standartlaştırmaya yönelik ilk girişimler başarısız olduktan sonra, ISO, Simon ve Speck'i diğer çalışma gruplarında standart hale getirdi. Ekim 2018 itibarıyla, Simon ve Speck şifreleri, RFID hava arayüzü standardı, Uluslararası Standart ISO/29167-21 (Simon için) ve Uluslararası Standart ISO/29167-22 (Speck için) kapsamında ISO tarafından standardize edilmiştir. ticari kuruluşlar tarafından kullanılabilir. == Ayrıca bakınız == * Balanced boolean function * Bent function * Dengeli boole işlevi * Bükülmüş fonksiyon == Kaynakça == Kategori:Blok şifreler Kategori:Block ciphers Kategori:Feistel ciphers Kategori:National Security Agency cryptography