Simon, Haziran 2013'te Ulusal Güvenlik Ajansı (NSA) tarafından halka açık bir şekilde yayınlanmış bir hafif blok şifreleme ailesidir.[1][2] Simon, donanım uygulamaları için optimize edilmişken, kardeş algoritması Speck, yazılım uygulamaları için optimize edilmiştir.[3][4]
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.[5]
Ş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.[2] 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:
Anahtar çizelgesi yapısı dengeli olmayabilir. Anahtar kelime sayısı , anahtar genişlemesinin yapısını belirlemek için kullanılır ve toplam bit genişliği olur. Anahtar kelime genişlemesi; sağa kaydırma, XOR ve sabit bir diziden oluşmaktadır. Her turda bir kez anahtar kelimenin en düşük bitine uygulanmaktadır.[4]
Sabit dizinin tanımı
Sabit dizi, , 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
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 [6]: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].[7]
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 [6]: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 [6]:12[8][9][10] 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 [6]:12–13
Simon'a yapılan bilinen en iyi saldırılar (standart saldırı modelinde)
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] .[11]
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 [6]: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 [6]: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] [12] 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 [7]: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.[5]: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 [6]:10 Simon'ın tasarımcıları, şifrelerin NSA kriptanalizi hakkında daha fazla ayrıntı sağlamadıkları için eleştirildi. [16][13]
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].[14]
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] [13][15] 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][16]
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.
^abBrian Degnan and Gregory Durgin (10 Kasım 2017). "Simontool: Simulation Support for the Simon Cipher". IEEE Journal of Radio Frequency Identification. 1 (2). ss. 195-201.
^abChu, Zhihui; Chen, Huaifeng; Xiaoyun, Wang; Dong, Xiaoyang; Li, Lu (19 Ocak 2018). "Improved Integral Attacks on SIMON32 and SIMON48 with Dynamic Key-Guessing Techniques". Security and Communication Networks. 2018: 5160237:1-5160237:11. doi:10.1155/2018/5160237.
^Lee, HoChang; Kim, Seojin; Kang, HyungChul; Hong, Deukjo; Sung, Jaechul; Hong, Seokhie (February 2018). "Calculating the Approximate Probability of Differentials for ARX-Based Cipher Using SAT Solver". Journal of the Korea Institute of Information Security and Cryptology (Korece). 28 (1): 15-24. doi:10.13089/JKIISC.2018.28.1.15.