LEA (şifre) - LEA (cipher)

LEA
LEA enc round function.png
LEA şifreleme yuvarlak işlevi
Genel
TasarımcılarDeukjo Hong, Jung-Keun Lee, Dong-Chan Kim, Daesung Kwon, Kwon Ho Ryu, Dong-Geon Lee
İlk yayınlandı2013
Şifre ayrıntısı
Anahtar boyutları128, 192 veya 256 bit
Blok boyutları128 bit
YapısıARX ​​(modüler Toplama, bitsel Döndürme ve bitsel XOR)
Mermi24, 28 veya 32 (anahtar boyutuna bağlı olarak)
En iyi halk kriptanaliz
2019 itibariyle, tam kapsamlı LEA'ya yönelik başarılı bir saldırı bilinmemektedir.

Hafif Şifreleme Algoritması (Ayrıca şöyle bilinir LEA) 128 bit blok şifreleme tarafından geliştirilmiş Güney Kore gibi yüksek hızlı ortamlarda gizlilik sağlamak için 2013 yılında Büyük veri ve Bulut bilişim gibi hafif ortamların yanı sıra IoT cihazları ve mobil cihazlar.[1] LEA'nın üç farklı anahtar uzunluğu vardır: 128, 192 ve 256 bit. LEA, verileri aşağıdakilerden yaklaşık 1,5 ila 2 kat daha hızlı şifreler AES, çeşitli yazılım ortamlarında en yaygın olarak kullanılan blok şifreleme.

LEA, Kore Şifreleme Modülü Doğrulama Programı (KCMVP) tarafından onaylanan şifreleme algoritmalarından biridir ve Kore Cumhuriyeti'nin ulusal standardıdır (KS X 3246). LEA, ISO / IEC 29192-2: 2019 standardına dahildir (Bilgi güvenliği - Hafif kriptografi - Bölüm 2: Blok şifreler).

Şartname

32 bit sözcükler için ARX işlemlerinden (modüler Toplama, bitsel Döndürme ve bitsel XOR) oluşan blok şifreleme LEA, 128 bitlik veri bloklarını işler ve üç farklı anahtar uzunluğuna sahiptir: 128, 192 ve 256 bit. bit anahtarı, 192 bit anahtarlı LEA ve 256 bit anahtara sahip LEA, sırasıyla "LEA-128", "LEA-192" ve "LEA-256" olarak adlandırılır. Tur sayısı 24'tür LEA-128 için, LEA-192 için 28 ve LEA-256 için 32.

Şifreleme

İzin Vermek 128 bitlik bir düz metin bloğu ve 128 bitlik bir şifreli metin bloğu olacak ve () 32 bitlik bloklardır. () 192 bitlik yuvarlak anahtarlar olacak () 32 bitlik bloklardır. LEA algoritması için tur sayısıdır. Şifreleme işlemi aşağıdaki şekilde açıklanmıştır:

  1. için -e

Şifre çözme

Şifre çözme işlemi aşağıdaki gibidir:

  1. için aşağı

Anahtar program

LEA'nın anahtar programı 128, 192 ve 256-bit anahtarları destekler ve 192-bit yuvarlak anahtarlar çıkarır () veri işleme bölümü için.

LEA-128 için anahtar program

İzin Vermek 128 bitlik bir anahtar olacaksa () 32 bitlik bloklardır. LEA-128 için anahtar program ve dört adet 32 ​​bitlik sabit () girişler ve çıkışlar olarak yirmi dört 192-bit yuvarlak tuş (LEA-128 için anahtar zamanlama işlemi aşağıdaki gibidir:

  1. için -e

LEA-192 için temel program

İzin Vermek 192 bit anahtar olmak () 32 bitlik bloklardır. LEA-192 için temel program ve altı adet 32 ​​bitlik sabit () girişler ve çıkışlar olarak yirmi sekiz adet 192-bit yuvarlak tuş (LEA-192 için anahtar zamanlama işlemi aşağıdaki gibidir:

  1. için -e

LEA-256 için anahtar program

İzin Vermek 256 bit anahtar olmak () 32 bitlik bloklardır. LEA-192 için temel program ve sekiz adet 32 ​​bitlik sabit () girişler ve çıkışlar olarak otuz iki 192-bit yuvarlak anahtar (LEA-256 için anahtar zamanlama işlemi aşağıdaki gibidir:

  1. için -e

Sabit değerler

Sekiz 32 bitlik sabit değer () anahtar çizelgede kullanılanlar aşağıdaki tabloda verilmiştir.

Anahtar programda kullanılan sabit değerler
01234567
0xc3efe9db 0x44626b02 0x79e27c8a 0x78df30ec 0x715ea49e 0xc785da0a 0xe04ef22a 0xe5c40957

Güvenlik

2019 itibariyle, tam kapsamlı LEA'ya başarılı bir saldırı bilinmemektedir. Yinelenen blok şifrelerinde tipik olduğu gibi, azaltılmış tur varyantları saldırıya uğramıştır. Standart saldırı modelinde (bilinmeyen anahtarla CPA / CCA) LEA'ya yapılan en iyi yayınlanan saldırılar bumerang saldırıları ve diferansiyel doğrusal saldırılardır. Tüm turlara olan güvenlik marjı, blok şifreleri için mevcut çeşitli kriptanalitik tekniklere karşı% 37'den fazladır.

LEA-128 güvenliği (24 tur)
Saldırı türüSaldırı yapılan mermiler
Diferansiyel[2]14
Kesik diferansiyel[2]14
Doğrusal[1]13
Sıfır korelasyon[1]10
Bumerang[1]15
İmkansız diferansiyel[1]12
İntegral[1]9
Diferansiyel doğrusal[1]15
İlgili anahtar diferansiyel[1]13
LEA'nın güvenlik marjları
Şifreleri engelleRaundlar (Saldırılan / Toplam)Güvenlik marjları
LEA-12815 / 2437.50%
LEA-19216 / 2842.85%
LEA-25618 / 3243.75%

Verim

LEA, genel amaçlı bir yazılım ortamında çok iyi bir performansa sahiptir.Özellikle çeşitli yazılım ortamlarında en yaygın kullanılan blok şifreleme olan AES'e kıyasla ortalama 1,5 ila 2 kat daha hızlı şifreleme yapmak mümkündür. aşağıda FELICS (Hafif Kriptografik Sistemlerin Adil Değerlendirmesi) kullanarak LEA ve AES'in performansını karşılaştırın,[3] hafif kriptografik ilkellerin yazılım uygulamalarının değerlendirilmesi için bir kıyaslama çerçevesi.

FELICS senaryosu 1 - Enc. + Aralık + Anahtar Kurulumu / 128 bayt CBC Şifreleme[4] (Kod: bayt, RAM: bayt, Zaman: döngü)
PlatformLEA-128LEA-192LEA-256AES-128
AVRKod1,6842,0102,1503,010
Veri deposu6319431,055408
Zaman61,02080,95492,19458,248
MSPKod1,1301,3841,4682,684
Veri deposu6269421,046408
Zaman47,33956,54064,00186,506
KOLKod4725366743,050
Veri deposu6849681,080452
Zaman17,41720,64024,29383,868
FELICS senaryosu 2 - Enc. / 128-bit CTR-Şifreleme[4] (Kod: bayt, RAM: bayt, Zaman: döngü)
PlatformLEA-128LEA-192LEA-256AES-128
AVRKod9061,2101,3061,246
Veri deposu80808081
Zaman4,0234,6305,2143,408
MSPKod7221,0141,1101,170
Veri deposu78787880
Zaman2,8143,2423,6224,497
KOLKod6289161,0121,348
Veri deposu92100100124
Zaman9061,1081,2104,044

Test vektörleri

Her anahtar uzunluğu için LEA için test vektörleri aşağıdaki gibidir.[5]Tüm değerler onaltılık biçimde ifade edilir.

  • LEA-128
    • Anahtar: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0
    • Düz metin: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
    • Şifreli metin: 9f c8 4e 35 28 c6 c6 18 55 32 c7 a7 04 64 8b fd
  • LEA-192
    • Anahtar: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0 f0 e1 d2 c3 b4 a5 96 87
    • Düz metin: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
    • Şifreli metin: 6f b9 5e 32 5a ad 1b 87 8c dc f5 35 76 74 c6 f2
  • LEA-256
    • Anahtar: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0 f0 e1 d2 c3 b4 a5 96 87 78 69 5a 4b 3c 2d 1e 0f
    • Düz metin: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
    • Şifreli metin: d6 51 af f6 47 b1 89 c1 3a 89 00 ca 27 f9 e1 97

Uygulamalar

LEA herhangi bir kullanım için ücretsizdir: kamu veya özel, ticari veya ticari olmayan. LEA dağıtımı için kaynak kodu C, Java, ve Python KISA'nın web sitesinden indirilebilir.[6]Buna ek olarak, LEA ücretsiz bir Crypto ++ kitaplığında bulunur. C ++ kriptografik şemaların sınıf kitaplığı.[7]

KCMVP

LEA, Kore Şifreleme Modülü Doğrulama Programı (KCMVP) tarafından onaylanan kriptografik algoritmalardan biridir.[8]

Standardizasyon

LEA, aşağıdaki standartlara dahildir.

  • KS X 3246, 128-bit blok şifreleme LEA (Korece)[5]
  • ISO / IEC 29192-2: 2019, Bilgi güvenliği - Hafif şifreleme - Bölüm 2: Blok şifreleri[9]

Referanslar

  1. ^ a b c d e f g h Hong, Deukjo; Lee, Jung-Keun; Kim, Dong-Chan; Kwon, Daesung; Ryu, Kwon Ho; Lee, Dong-Geon (2014). LEA: Ortak İşlemcilerde Hızlı Şifreleme için 128-Bit Blok Şifreleme. Springer Uluslararası Yayıncılık. sayfa 3–27. ISBN  978-3-319-05149-9.
  2. ^ a b Şarkı, Ling; Huang, Zhangjie; Yang, Qianqian (2016). SPECK ve LEA'ya Uygulanarak ARX Blok Şifrelerinin Otomatik Diferansiyel Analizi. Springer Uluslararası Yayıncılık. s. 379–394. ISBN  978-3-319-40367-0.
  3. ^ Dinu, Daniel; Corre, Yann Le; Khovratovich, Dmitry; Perrin, Léo; Großschädl, Johann; Biryukov, Alex (14 Temmuz 2018). "Nesnelerin İnterneti için hafif blok şifrelerin triatlonu" (PDF). Kriptografi Mühendisliği Dergisi. 9 (3): 283–302. doi:10.1007 / s13389-018-0193-x.
  4. ^ a b "CryptoLUX> FELICS". cryptolux.org.
  5. ^ a b "KS X 3246, 128-bit blok şifreleme LEA (Korece)".
  6. ^ "KISA 암호 이용 활성화 - 암호 알고리즘 소스 코드". seed.kisa.or.kr.
  7. ^ "Crypto ++ Kitaplığı 8.2 | Ücretsiz C ++ Sınıfı Şifreleme Şemaları Kitaplığı". www.cryptopp.com.
  8. ^ "KISA 암호 이용 활성화 - 개요". seed.kisa.or.kr.
  9. ^ "ISO / IEC 29192-2: 2019, Bilgi güvenliği - Hafif şifreleme - Bölüm 2: Blok şifreleri".