SlideShare a Scribd company logo
Sm4 Cipher Alper SAĞDIÇ
927219058
Kriptoloji ve Güvenlik Protokolleri
Mehmet Fatih Zeyveli
Giriş
Çin Devlet Ticari İdaresi Teşkilatı (OSCCA)tarafından, Çin'de kullanım için yetkili kriptografik algoritmalar
olarak yayınlanan bir şifreleme standardıdır . Algoritma halka açık olarak yayınlanmaktadır.
WLAN Kimlik Doğrulama ve Gizlilik Altyapısı (WAPI) standardı, içinde belirtilen kablosuz ağlar için güvenlik
mekanizmalarına bir alternatiftir [1]. Çin Standartları Derneği SAC tarafından Uluslararası Standartlar
Organizasyonu ISO'ya sunulmuştur. Hem WAPI hem de IEEE 802.11i, ISO / IEC 8802-11'e güvenlik
değişiklikleri olarak önerilmiştir.Verilerin şifrelenmesi için iki farklı blok şifresi kullanır; WAPI, SMS4 blok
şifresini [2] kullanırken, IEEE 802.11i AES blok şifresini kullanır [3].
SM4, veri şifreleme için tasarlanmış simetrik bir şifreleme algoritmasıdır, özellikle bir blok şifreleyicidir.
SM4, DES / AES gibi uluslararası algoritmaların yerini almak için kullanılan bir blok şifredir.
SM4 (ve SMS4), Çin'de kullanımına izin verilen tek OSCCA onaylı simetrik şifreleme algoritmasıdır.
SM4, kriptografide çok dikkat çeken Çin'in ilk ticari blok şifreleme standardıdır.
Tarihçe
"SMS4" algoritması (SM4'ün eski adı) Shu-Wang Lu tarafından icat edildi , ilk olarak 2003
yılında [GB.15629.11-2003] 'ün parçası olarak yayınlandı, ardından 2006 yılında bağımsız
olarak OSCCA tarafından yayınlandı , OSCCA tarafından yayınlanan [GMT-0002-2012] 'de
2012'de resmi olarak "SM4" olarak yeniden adlandırıldı ve son olarak 2016'da Çin Ulusal
Standardı (GB Standardı) [GBT.32907-2016] olarak standartlaştırıldı.
SMS4, orijinal olarak kablosuz ağları [SM4] korumak için oluşturulmuştur ve Kablosuz LAN
WAPI (Kablolu Kimlik Doğrulama ve Gizlilik Altyapısı) için Çin Ulusal Standardında
[GB.15629.11-2003] zorunlu kılınmıştır . SMS4'ü IEEE 802.11i standardına uyarlamak için
bir teklif yapıldı, ancak ISO tarafından reddedildi . Ret nedenlerinden biri IEEE tarafından
WAPI hızlı yol önerisine muhalefet olmasıdır.
Çalışması
SM4, dengesiz Feistel ağına [4] dayalı olarak tasarlanmış bir Çin simetrik anahtar blok
şifresidir (SMS4 olarak bilinir) . Düz metin girişi, şifreli metin çıkışı, blok verileri ve anahtarın
her biri 128 bittir. 128-bit giriş düz metni dört 32-bit kelimeye bölünmüştür, burada kelime en
küçük işlem birimidir [6]. SM4 şifreleme algoritması, 32 tur doğrusal olmayan ikame [5] alan
turlar işlev ve anahtar genişletme işlevinden oluşur .
Her şifreleme turunda, 128 giriş bloğundan 32 bitlik yeni bir blok oluşturulur. Her
yinelemede, yeni 32 bitlik blok, bir sonraki yineleme için yeni 128 bitlik giriş bloğunu
oluşturmak üzere önceki 96 bitlik giriş verileriyle birleştirilir [5]. 32 bitlik yeni turlar anahtar da
her yineleme için anahtar genişletme işlevi kullanılarak üretilir ve her turlar işlemde kullanılır.
Şifreli metin, 32 döngü tekrarlamadan sonra turlar şifreleme işlevinin bir çıktısı olarak üretilir.
SM4 algoritması tam anlamıyla SM4 blok şifreleme algoritması olarak adlandırılır.SM4
algoritması bir blok simetrik anahtar algoritmasıdır. Düz metin, anahtar ve şifreli metnin
tümü 16 bayttır.Şifreleme ve şifre çözme anahtarları aynıdır. Hem şifreleme algoritması hem
de anahtar genişletme algoritmasında 32 turluk doğrusal olmayan yinelemeli yapı kullanır.
Özellikleri
128 bitlik bir blok
boyutuna sahiptir.
8 bitlik bir S-box
kullanır.
Anahtar boyutu 128
bittir.
Şifre çözme, ters
sırada olmaları
dışında şifreleme için
olan aynı tur
anahtarları kullanır.
Özellikleri
Kullanılan tek işlemler
32-bit bitsel XOR, 32-
bit dairesel
kaydırmalar ve S-box
uygulamalarıdır.
Bir veri bloğunun
şifrelenmesi veya
şifresinin çözülmesi 32
turdan oluşur.
Her tur, dahili durumun
dörtte birini (yani 32
bit) günceller.
tur anahtarları
oluşturmak için doğrusal
olmayan bir anahtar
çizelgesi kullanılır.
Sm4 Algoritması
SM4 algoritması tam anlamıyla SM4 blok şifreleme algoritması olarak adlandırılır.SM4
algoritması bir blok simetrik anahtar algoritmasıdır. Düz metin, anahtar ve şifreli metnin
tümü 16 bayttır.Şifreleme ve şifre çözme anahtarları aynıdır. Hem şifreleme algoritması hem
de anahtar genişletme algoritmasında 32 turluk doğrusal olmayan yinelemeli yapı kullanır.
Şifre çözme işleminin yapısı, tur anahtarı kullanma sırasının tersine çevrilmesi dışında
şifreleme işleminin yapısına benzer.
SM4 algoritmasının avantajı, yazılım ve donanımın uygulanmasının kolay olması ve
hesaplama hızının hızlı olmasıdır.
Hesaplama Yapısı
Hem şifreleme hem de anahtar genişletme, blok başına 32 tur doğrusal olmayan anahtar
programı kullanır. Her tur, bloğu oluşturan dört 32 bitlik kelimeden birini işler.
Şifreleme ve şifre çözme yapısı, şifre çözme sırasında tur anahtar zamanlamasının
sırasının tersine çevrilmesi dışında aynıdır.
8 bitlik bir S-box kullanarak, yürütmek için yalnızca özel veya döngüsel bit kaydırmaları ve
S-box aramaları kullanır.
Temel İşlemler
Bu algoritma tarafından kullanılan iki temel işlem şunlardır:
⊕ = iki 32 bit vektörün bitsel XOR değeri,
<<< i = bitleri sola kaydırılmış 32 bitlik bir sözcüğün dairesel kayması.
Anahtar ve Anahtar Parametreler
Şifreleme anahtarı uzunluğu 128 bittir ve aşağıda temsil edilir, burada her MK_i, (i = 0, 1, 2,
3) bir kelimedir.
MK = (MK_0, MK_1, MK_2, MK_3)
tur anahtar programı, her rk_i (i = 0, ..., 31) bir kelime olduğu aşağıda gösterilen şifreleme
anahtarından türetilir:
(rk_0, rk_1, ..., rk_31)
Anahtar ve Anahtar Parametreler
Anahtar genişletme için kullanılan sistem parametreleri FK olarak temsil edilir, burada her
FK_i (i = 0, ..., 3) bir kelimedir:
FK = (FK_0, FK_1, FK_2, FK_3)
Anahtar genişletme için kullanılan sabit parametreler CK olarak temsil edilir, burada her
CK_i (i = 0, ..., 31) bir kelimedir:
CK = (CK_0, CK_1, ..., CK_31)
Anahtar Genişletme İşlevi
Temel genişletme işlevi yapısı Şekil 3'da gösterilmitir . Üçüncü algoritma , Algoritma 4'te
gösterilen karma ikame T ′ fonksiyonunu kullanan anahtar genişletme fonksiyonunu açıklar.
Doğrusal dönüşüm L ′' nin farklı bir bit kaydırma işlemine sahip olması dışında, benzer bir
tur fonksiyon yapısı vardır. Düz metin girişi olarak , 128 bitlik ana anahtar ( MK ) dört adet
32 bit alt anahtara ( MK 0 , MK 1 , MK 2 ve MK 3 ) bölünmüştür . Bu alt tuşlar, dört sabit
parametreyle ( FK 0 , FK 1 ,F K 2 ve FK 3 ) dört alt anahtar (K i , K i +1 , K i +2 ve K i +3 )
oluşturmak için. Her birinde i yineleme yeni tur anahtar rk i temsil eder.
(32 bitlik K i + 4 alt anahtarı) orijinal giriş anahtarı tarafından üretilen MK Algoritması 3 her
bir şifreleme tur fonksiyon işleminde için bir girdi olarak kullanılmak üzere Algoritma 1 tüm
turlar tamamlandıktan sonra 32 tur anahtar oluşturulur.
Anahtar Genişletme İşlevi
Şekil.3 Anahtar genişletme işlevi
Tur Fonksiyon F
• SM4 şifre algoritmasındaki temel işlem birimi olan tur fonksiyonun yapısı, F,aşağıdaki
şekilde gibidir. Tur fonksiyonu F Algoritma 1 'de gösterilen algoritma, karışık sübstitüsyonu
kullanan T 2. Algoritması' da gösterilen fonksiyonun T fonksiyonu iki temel işlevleri
içermektedir: transforme doğrusal olmayan τ ve dönüşümü, lineer L . Doğrusal olmayan
dönüşüm τ , paralel olarak dört S-kutusunu uygular. S-box, Şekil 5'te gösterildiği gibi,
arama tablosu ile 16 × 16 dizisi olarak uygulanmıştır.
• S-kutularının çıktısı tek bir 32-bit sözcük halinde birleştirilir ve döngüsel sola kaydırma ve
XOR işlemini uygulayan doğrusal dönüşümün girdisidir [6]. Doğrusal olmayan dönüşümün
kafa karıştırıcı etkisi nedeniyle, SM4 şifresinin güvenliği büyük ölçüde iyileştirilmiştir [7].
128 bitlik düz metin giriş bloğu X , her biri 32 bit olan dört kelimeye ( X 0 , X 1 , X 2 ve X 3
) bölünmüştür ve her birinde 32 bitlik yeni bir X i + 4 veri bloğu oluşturulur. tur yineleme ve
önceki 96 bitlik blokla birleştirilir ( X i +1 ,X i +2 ve X i +3 ) sonraki iterasyon için girdi
oluşturmak üzere.
• Bu döngü işlemi, Algoritma 1'de görüntülendiği gibi tüm döngüsel yinelemeler uygulanana
kadar (yani 32 tur) sürekli olarak tekrarlanır. Şifreli metin çıktısı Y , son döngü dönüşümü
R işlevi kullanılarak çıktının sırasının tersine çevrilmesiyle son dört turda elde edilir .
• Bu işlev, şifreleme ve şifre çözme yapısının tutarlılığını korur [6].
Tur Fonksiyon F
Şekil.1 Tur Fonksiyon F
Tur Fonksiyon F
Tur Parametre Yapısı;
Aşağıdaki 128 bitlik girdiye göre, burada her X_i 2 bitlik bir sözcüktür:
(X_0, X_1, X_2, X_3)
Ve tur anahtar rk 32 bitlik bir kelimedir:
Tur fonksiyon F şu şekilde tanımlanır:
F (X_0, X_1, X_2, X_3, rk) = X_0 xor T (X_1 xor X_2 xor X_3 xor rk)
Doğrusal Olmayan Dönüşüm tau
tau, dört paralel S-kutusundan oluşur.
Her a_i'nin 8 bitlik bir dize olduğu 32 bitlik bir A girdisi verildiğinde:
A = (a_0, a_1, a_2, a_3)
Çıktı, her b_i'nin 8 bitlik bir dizge olduğu 32 bitlik bir B'dir:
B = (b_0, b_1, b_2, b_3)
B şu şekilde hesaplanır:
(b_0, b_1, b_2, b_3) = tau (A)
tau (A) = (Sbox (a_0), Sbox (a_1), Sbox (a_2), Sbox (a_3))
Doğrusal Olmayan Dönüşüm tau
Sbox arama tablosu burada gösterilmektedir:
Örneğin, "EF" girişi S-box tablo satırı E ve sütun F'den okunan bir çıktı üretecek ve sonucu
Sbox (EF) = 84 verecektir.
Şifreleme algoritması 32 tur ve 1 ters
dönüşüm R'den oluşur.
Her X_i'nin 32 bitlik bir kelime olduğu 128
bitlik bir düz metin girişi verildiğinde:
(X_0, X_1, X_2, X_3)
Çıktı, her bir Y_i'nin 32 bitlik bir kelime
olduğu 128 bitlik bir şifreli metindir:
(Y_0, Y_1, Y_2, Y_3)
Her bir tur anahtar rk_i olarak belirtilir,
burada her rk_i 32 bitlik bir
kelimedir ve i = 0, 1, 2, ..., 31.
SM4 Şifreleme
Şifre çözme, şifreleme ile aynı işlemi alır, tek
fark, tur anahtar dizisinin sırasıdır.
Şifre çözme sırasında tur tuş sırası şöyledir:
(rk_31, rk_30, ..., rk_0)
SM4 Şifre Çözme
Örnek Hesaplamalar
SM4Bu örnek bir düz metnin şifrelenmesini gösterir.
Düz metin: 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
Şifreleme anahtarı: 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
Tur başına yuvarlak anahtarın (rk_i) ve yuvarlak çıktının (X_i) durumu:
Örnek Hesaplamalar
Şifreleme metni: 68 1E DF 34 D2 06 96 5E 86 B3 E9 4F 53 6E 42 46
Kriptanaliz
SM4 üzerinde [SM4-Analysis] [SM4-Linear] gibi bir dizi saldırı girişiminde bulunulmuştur ,
ancak SM4 algoritmasına karşı bilinen herhangi bir uygulanabilir saldırı yoktur.
Bununla birlikte, SM4 algoritması bir cihazda [SM4-Power] uygulandığında, yan kanal
saldırıları [SideChannel] ile ilgili güvenlik endişeleri vardır.
Örneğin, [SM4-Power] , cihazın güç tüketimini ölçerek bir saldırıyı gösterdi. Alt anahtarlar ve
veri maskesi arasında sabit bir korelasyon olduğu varsayılarak seçilen bir şifreli metin
saldırısı, tur anahtarı başarıyla kurtarabilir. SM4 algoritması donanımda uygulandığında,
parametreler / anahtarlar sabit bir korelasyon olmaksızın rasgele oluşturulmalıdır.
Bu tür saldırılara direnebilecek [SM4-VLSI] gibi SM4'ün donanım düzenlemesinde
iyileştirmeler yapılmıştır .
SM4 şifreleme işleminin güvenliğini artırmak için, [SM4-Beyaz Kutu] gibi güvenli beyaz kutu
uygulamaları önerilmiştir. [SM4-HiSpeed] gibi hız geliştirmeleri de önerilmiştir.
SM4 anahtar genişletme algoritması akış
şeması
SM4 Java Uygulaması
SM4 Java Uygulaması Şifreleme
İlk anahtarın gruplandırılmasını elde etmek
(4 gruba bölünmüştür)
tur anahtar genişletme algoritması çekirdek kodu
SM4 Java Uygulaması
32 tur şifreleme dönüştürme işlemi
gerçekleştirilir.
SM4 şifreleme algoritması çekirdek kodu
SM4 Java Uygulaması Şifre Çözme
CryptFlag 1 olduğunda şifreleme işlemi
gerçekleştirilir ve CryptFlag 0 olduğunda
şifre çözme işlemi gerçekleştirilir.
https://download.csdn.net/download/fly_hps/10724893
BEYAZ KUTU SM4 UYGULAMASI
Standart blok şifrelerin mevcut beyaz kutu uygulamalarının arama tablolarının tümü, yeterli
miktarda beyaz kutu çeşitliliği ve beyaz kutu belirsizlikleri [8] sağlar , bu da büyük doğrusal
kodlamalarla karartılmış bu tabloların yerel olarak analiz edilmesini çok zorlaştırır. Bununla
birlikte, mevcut saldırılar [9] , [10] , [11] , [12] , bunun yerine arama tablolarının
kompozisyonlarını analiz ederek tablolara gömülü büyük doğrusal kodlamaları iptal ederek,
kodlamaları 32 bit seviyesinden 8 bit seviyesine (veya 16 bit düzeyi) ve tur anahtar
baytlarının çıkarılmasını kolaylaştıralım.
BEYAZ KUTU SM4 UYGULAMASI
Şekil 6. İş Akışı
Arama tablolarının tasarımı
Önceki bazı beyaz kutu uygulamalarının [8] , [16] aksine , hızlı bir uygulama elde etmek
için, tüm doğrusal olmayan kodlamaları ve XOR performans gösteren arama tablolarını terk
ediyoruz.Uygulamamız iki tür arama tablosundan oluşur: TD ve TR.
TD, 8 bitlik bir girişi 32 bitlik bir çıkışla eşleyen bir tablo türüdür. Önceki 32 bit afin
kodlamaların kodunu çözmek ve aağıda ki Denklemde (1≤ r ≤32, 0≤ j ≤3 ) tanımlandığı gibi
yeni bir afin kodlama gerçekleştirmek için kullanılır ;
Şifreleme / şifre çözme süreci
Beyaz kutu SM4 uygulamamızın şifreleme ve şifre çözme süreci, sırasıyla şifreleme tur
anahtarlarından ve şifre çözme tur anahtarlarından türetilen arama tabloları kullanılarak
aynıdır. Dönüşüm süreci aşağıda ki Algoritmada gösterilmiştir.
Bonus
https://the-x.cn/en-us/cryptography/Sm4.aspx
Kaynaklar
[1] The Institute of Electrical and Electronics Engineers (IEEE),
http://grouper.ieee.org/groups/802/11.
[2] Office of State Commercial Cryptography Administration, P.R. China, The
SMS4Block Cipher (in Chinese). Archive available at
http://www.oscca.gov.cn/UpFile/200621016423197990.pdf.
[3] National Institute of Standards and Technology, U.S.A., Advandced
Encryption Standard (AES) FIPS-197, 2001.
[4] Fu, H., Bai, G., Wu, X.: Low‐cost hardware implementation of SM4
based on composite field. In: IEEE Conference on Information Technology,
Networking, Electronic and Automation Control, pp. 260–264. IEEE (2016)
Kaynaklar
[5] Li, Y., Wu, X., Bai, G.: Implementation of SM4 algorithm based on
asynchronous dual‐rail low‐power design. In: 2018 14th IEEE international
Conference on Solid‐State and Integrated Circuit Technology (ICSICT)
(IEEE, no date), pp. 1–3
[6] Guan, Z., Li, Y., Shang, T., Liu, J., Sun, M., Li, Y.: Implementation of SM4
on FPGA: trade‐off analysis between area and speed. In: 2018IEEE
international Conference on Intelligence and Safety for Robotics (ISR), pp.
192–197. IEEE (2018)
[7] Mohd, B.J., Yousef, K.M.A., AlMajali, A., Hayajneh, T.: Power‐aware
adaptive encryption. In: 2019IEEE Jordan International Joint Conference on
Electrical Engineering and Information Technology (JEEIT), pp. 711–716.
IEEE (2019)
Sm4 Cipher

More Related Content

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Sm4 Cipher

  • 1. Sm4 Cipher Alper SAĞDIÇ 927219058 Kriptoloji ve Güvenlik Protokolleri Mehmet Fatih Zeyveli
  • 2. Giriş Çin Devlet Ticari İdaresi Teşkilatı (OSCCA)tarafından, Çin'de kullanım için yetkili kriptografik algoritmalar olarak yayınlanan bir şifreleme standardıdır . Algoritma halka açık olarak yayınlanmaktadır. WLAN Kimlik Doğrulama ve Gizlilik Altyapısı (WAPI) standardı, içinde belirtilen kablosuz ağlar için güvenlik mekanizmalarına bir alternatiftir [1]. Çin Standartları Derneği SAC tarafından Uluslararası Standartlar Organizasyonu ISO'ya sunulmuştur. Hem WAPI hem de IEEE 802.11i, ISO / IEC 8802-11'e güvenlik değişiklikleri olarak önerilmiştir.Verilerin şifrelenmesi için iki farklı blok şifresi kullanır; WAPI, SMS4 blok şifresini [2] kullanırken, IEEE 802.11i AES blok şifresini kullanır [3]. SM4, veri şifreleme için tasarlanmış simetrik bir şifreleme algoritmasıdır, özellikle bir blok şifreleyicidir. SM4, DES / AES gibi uluslararası algoritmaların yerini almak için kullanılan bir blok şifredir. SM4 (ve SMS4), Çin'de kullanımına izin verilen tek OSCCA onaylı simetrik şifreleme algoritmasıdır. SM4, kriptografide çok dikkat çeken Çin'in ilk ticari blok şifreleme standardıdır.
  • 3. Tarihçe "SMS4" algoritması (SM4'ün eski adı) Shu-Wang Lu tarafından icat edildi , ilk olarak 2003 yılında [GB.15629.11-2003] 'ün parçası olarak yayınlandı, ardından 2006 yılında bağımsız olarak OSCCA tarafından yayınlandı , OSCCA tarafından yayınlanan [GMT-0002-2012] 'de 2012'de resmi olarak "SM4" olarak yeniden adlandırıldı ve son olarak 2016'da Çin Ulusal Standardı (GB Standardı) [GBT.32907-2016] olarak standartlaştırıldı. SMS4, orijinal olarak kablosuz ağları [SM4] korumak için oluşturulmuştur ve Kablosuz LAN WAPI (Kablolu Kimlik Doğrulama ve Gizlilik Altyapısı) için Çin Ulusal Standardında [GB.15629.11-2003] zorunlu kılınmıştır . SMS4'ü IEEE 802.11i standardına uyarlamak için bir teklif yapıldı, ancak ISO tarafından reddedildi . Ret nedenlerinden biri IEEE tarafından WAPI hızlı yol önerisine muhalefet olmasıdır.
  • 4. Çalışması SM4, dengesiz Feistel ağına [4] dayalı olarak tasarlanmış bir Çin simetrik anahtar blok şifresidir (SMS4 olarak bilinir) . Düz metin girişi, şifreli metin çıkışı, blok verileri ve anahtarın her biri 128 bittir. 128-bit giriş düz metni dört 32-bit kelimeye bölünmüştür, burada kelime en küçük işlem birimidir [6]. SM4 şifreleme algoritması, 32 tur doğrusal olmayan ikame [5] alan turlar işlev ve anahtar genişletme işlevinden oluşur . Her şifreleme turunda, 128 giriş bloğundan 32 bitlik yeni bir blok oluşturulur. Her yinelemede, yeni 32 bitlik blok, bir sonraki yineleme için yeni 128 bitlik giriş bloğunu oluşturmak üzere önceki 96 bitlik giriş verileriyle birleştirilir [5]. 32 bitlik yeni turlar anahtar da her yineleme için anahtar genişletme işlevi kullanılarak üretilir ve her turlar işlemde kullanılır. Şifreli metin, 32 döngü tekrarlamadan sonra turlar şifreleme işlevinin bir çıktısı olarak üretilir. SM4 algoritması tam anlamıyla SM4 blok şifreleme algoritması olarak adlandırılır.SM4 algoritması bir blok simetrik anahtar algoritmasıdır. Düz metin, anahtar ve şifreli metnin tümü 16 bayttır.Şifreleme ve şifre çözme anahtarları aynıdır. Hem şifreleme algoritması hem de anahtar genişletme algoritmasında 32 turluk doğrusal olmayan yinelemeli yapı kullanır.
  • 5. Özellikleri 128 bitlik bir blok boyutuna sahiptir. 8 bitlik bir S-box kullanır. Anahtar boyutu 128 bittir. Şifre çözme, ters sırada olmaları dışında şifreleme için olan aynı tur anahtarları kullanır.
  • 6. Özellikleri Kullanılan tek işlemler 32-bit bitsel XOR, 32- bit dairesel kaydırmalar ve S-box uygulamalarıdır. Bir veri bloğunun şifrelenmesi veya şifresinin çözülmesi 32 turdan oluşur. Her tur, dahili durumun dörtte birini (yani 32 bit) günceller. tur anahtarları oluşturmak için doğrusal olmayan bir anahtar çizelgesi kullanılır.
  • 7. Sm4 Algoritması SM4 algoritması tam anlamıyla SM4 blok şifreleme algoritması olarak adlandırılır.SM4 algoritması bir blok simetrik anahtar algoritmasıdır. Düz metin, anahtar ve şifreli metnin tümü 16 bayttır.Şifreleme ve şifre çözme anahtarları aynıdır. Hem şifreleme algoritması hem de anahtar genişletme algoritmasında 32 turluk doğrusal olmayan yinelemeli yapı kullanır. Şifre çözme işleminin yapısı, tur anahtarı kullanma sırasının tersine çevrilmesi dışında şifreleme işleminin yapısına benzer. SM4 algoritmasının avantajı, yazılım ve donanımın uygulanmasının kolay olması ve hesaplama hızının hızlı olmasıdır.
  • 8. Hesaplama Yapısı Hem şifreleme hem de anahtar genişletme, blok başına 32 tur doğrusal olmayan anahtar programı kullanır. Her tur, bloğu oluşturan dört 32 bitlik kelimeden birini işler. Şifreleme ve şifre çözme yapısı, şifre çözme sırasında tur anahtar zamanlamasının sırasının tersine çevrilmesi dışında aynıdır. 8 bitlik bir S-box kullanarak, yürütmek için yalnızca özel veya döngüsel bit kaydırmaları ve S-box aramaları kullanır.
  • 9. Temel İşlemler Bu algoritma tarafından kullanılan iki temel işlem şunlardır: ⊕ = iki 32 bit vektörün bitsel XOR değeri, <<< i = bitleri sola kaydırılmış 32 bitlik bir sözcüğün dairesel kayması.
  • 10. Anahtar ve Anahtar Parametreler Şifreleme anahtarı uzunluğu 128 bittir ve aşağıda temsil edilir, burada her MK_i, (i = 0, 1, 2, 3) bir kelimedir. MK = (MK_0, MK_1, MK_2, MK_3) tur anahtar programı, her rk_i (i = 0, ..., 31) bir kelime olduğu aşağıda gösterilen şifreleme anahtarından türetilir: (rk_0, rk_1, ..., rk_31)
  • 11. Anahtar ve Anahtar Parametreler Anahtar genişletme için kullanılan sistem parametreleri FK olarak temsil edilir, burada her FK_i (i = 0, ..., 3) bir kelimedir: FK = (FK_0, FK_1, FK_2, FK_3) Anahtar genişletme için kullanılan sabit parametreler CK olarak temsil edilir, burada her CK_i (i = 0, ..., 31) bir kelimedir: CK = (CK_0, CK_1, ..., CK_31)
  • 12. Anahtar Genişletme İşlevi Temel genişletme işlevi yapısı Şekil 3'da gösterilmitir . Üçüncü algoritma , Algoritma 4'te gösterilen karma ikame T ′ fonksiyonunu kullanan anahtar genişletme fonksiyonunu açıklar. Doğrusal dönüşüm L ′' nin farklı bir bit kaydırma işlemine sahip olması dışında, benzer bir tur fonksiyon yapısı vardır. Düz metin girişi olarak , 128 bitlik ana anahtar ( MK ) dört adet 32 bit alt anahtara ( MK 0 , MK 1 , MK 2 ve MK 3 ) bölünmüştür . Bu alt tuşlar, dört sabit parametreyle ( FK 0 , FK 1 ,F K 2 ve FK 3 ) dört alt anahtar (K i , K i +1 , K i +2 ve K i +3 ) oluşturmak için. Her birinde i yineleme yeni tur anahtar rk i temsil eder. (32 bitlik K i + 4 alt anahtarı) orijinal giriş anahtarı tarafından üretilen MK Algoritması 3 her bir şifreleme tur fonksiyon işleminde için bir girdi olarak kullanılmak üzere Algoritma 1 tüm turlar tamamlandıktan sonra 32 tur anahtar oluşturulur.
  • 13. Anahtar Genişletme İşlevi Şekil.3 Anahtar genişletme işlevi
  • 14. Tur Fonksiyon F • SM4 şifre algoritmasındaki temel işlem birimi olan tur fonksiyonun yapısı, F,aşağıdaki şekilde gibidir. Tur fonksiyonu F Algoritma 1 'de gösterilen algoritma, karışık sübstitüsyonu kullanan T 2. Algoritması' da gösterilen fonksiyonun T fonksiyonu iki temel işlevleri içermektedir: transforme doğrusal olmayan τ ve dönüşümü, lineer L . Doğrusal olmayan dönüşüm τ , paralel olarak dört S-kutusunu uygular. S-box, Şekil 5'te gösterildiği gibi, arama tablosu ile 16 × 16 dizisi olarak uygulanmıştır. • S-kutularının çıktısı tek bir 32-bit sözcük halinde birleştirilir ve döngüsel sola kaydırma ve XOR işlemini uygulayan doğrusal dönüşümün girdisidir [6]. Doğrusal olmayan dönüşümün kafa karıştırıcı etkisi nedeniyle, SM4 şifresinin güvenliği büyük ölçüde iyileştirilmiştir [7]. 128 bitlik düz metin giriş bloğu X , her biri 32 bit olan dört kelimeye ( X 0 , X 1 , X 2 ve X 3 ) bölünmüştür ve her birinde 32 bitlik yeni bir X i + 4 veri bloğu oluşturulur. tur yineleme ve önceki 96 bitlik blokla birleştirilir ( X i +1 ,X i +2 ve X i +3 ) sonraki iterasyon için girdi oluşturmak üzere. • Bu döngü işlemi, Algoritma 1'de görüntülendiği gibi tüm döngüsel yinelemeler uygulanana kadar (yani 32 tur) sürekli olarak tekrarlanır. Şifreli metin çıktısı Y , son döngü dönüşümü R işlevi kullanılarak çıktının sırasının tersine çevrilmesiyle son dört turda elde edilir . • Bu işlev, şifreleme ve şifre çözme yapısının tutarlılığını korur [6].
  • 15. Tur Fonksiyon F Şekil.1 Tur Fonksiyon F
  • 16. Tur Fonksiyon F Tur Parametre Yapısı; Aşağıdaki 128 bitlik girdiye göre, burada her X_i 2 bitlik bir sözcüktür: (X_0, X_1, X_2, X_3) Ve tur anahtar rk 32 bitlik bir kelimedir: Tur fonksiyon F şu şekilde tanımlanır: F (X_0, X_1, X_2, X_3, rk) = X_0 xor T (X_1 xor X_2 xor X_3 xor rk)
  • 17. Doğrusal Olmayan Dönüşüm tau tau, dört paralel S-kutusundan oluşur. Her a_i'nin 8 bitlik bir dize olduğu 32 bitlik bir A girdisi verildiğinde: A = (a_0, a_1, a_2, a_3) Çıktı, her b_i'nin 8 bitlik bir dizge olduğu 32 bitlik bir B'dir: B = (b_0, b_1, b_2, b_3) B şu şekilde hesaplanır: (b_0, b_1, b_2, b_3) = tau (A) tau (A) = (Sbox (a_0), Sbox (a_1), Sbox (a_2), Sbox (a_3))
  • 18. Doğrusal Olmayan Dönüşüm tau Sbox arama tablosu burada gösterilmektedir: Örneğin, "EF" girişi S-box tablo satırı E ve sütun F'den okunan bir çıktı üretecek ve sonucu Sbox (EF) = 84 verecektir.
  • 19. Şifreleme algoritması 32 tur ve 1 ters dönüşüm R'den oluşur. Her X_i'nin 32 bitlik bir kelime olduğu 128 bitlik bir düz metin girişi verildiğinde: (X_0, X_1, X_2, X_3) Çıktı, her bir Y_i'nin 32 bitlik bir kelime olduğu 128 bitlik bir şifreli metindir: (Y_0, Y_1, Y_2, Y_3) Her bir tur anahtar rk_i olarak belirtilir, burada her rk_i 32 bitlik bir kelimedir ve i = 0, 1, 2, ..., 31. SM4 Şifreleme
  • 20. Şifre çözme, şifreleme ile aynı işlemi alır, tek fark, tur anahtar dizisinin sırasıdır. Şifre çözme sırasında tur tuş sırası şöyledir: (rk_31, rk_30, ..., rk_0) SM4 Şifre Çözme
  • 21. Örnek Hesaplamalar SM4Bu örnek bir düz metnin şifrelenmesini gösterir. Düz metin: 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10 Şifreleme anahtarı: 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10 Tur başına yuvarlak anahtarın (rk_i) ve yuvarlak çıktının (X_i) durumu:
  • 22. Örnek Hesaplamalar Şifreleme metni: 68 1E DF 34 D2 06 96 5E 86 B3 E9 4F 53 6E 42 46
  • 23. Kriptanaliz SM4 üzerinde [SM4-Analysis] [SM4-Linear] gibi bir dizi saldırı girişiminde bulunulmuştur , ancak SM4 algoritmasına karşı bilinen herhangi bir uygulanabilir saldırı yoktur. Bununla birlikte, SM4 algoritması bir cihazda [SM4-Power] uygulandığında, yan kanal saldırıları [SideChannel] ile ilgili güvenlik endişeleri vardır. Örneğin, [SM4-Power] , cihazın güç tüketimini ölçerek bir saldırıyı gösterdi. Alt anahtarlar ve veri maskesi arasında sabit bir korelasyon olduğu varsayılarak seçilen bir şifreli metin saldırısı, tur anahtarı başarıyla kurtarabilir. SM4 algoritması donanımda uygulandığında, parametreler / anahtarlar sabit bir korelasyon olmaksızın rasgele oluşturulmalıdır. Bu tür saldırılara direnebilecek [SM4-VLSI] gibi SM4'ün donanım düzenlemesinde iyileştirmeler yapılmıştır . SM4 şifreleme işleminin güvenliğini artırmak için, [SM4-Beyaz Kutu] gibi güvenli beyaz kutu uygulamaları önerilmiştir. [SM4-HiSpeed] gibi hız geliştirmeleri de önerilmiştir.
  • 24. SM4 anahtar genişletme algoritması akış şeması SM4 Java Uygulaması
  • 25. SM4 Java Uygulaması Şifreleme İlk anahtarın gruplandırılmasını elde etmek (4 gruba bölünmüştür) tur anahtar genişletme algoritması çekirdek kodu
  • 26. SM4 Java Uygulaması 32 tur şifreleme dönüştürme işlemi gerçekleştirilir. SM4 şifreleme algoritması çekirdek kodu
  • 27. SM4 Java Uygulaması Şifre Çözme CryptFlag 1 olduğunda şifreleme işlemi gerçekleştirilir ve CryptFlag 0 olduğunda şifre çözme işlemi gerçekleştirilir. https://download.csdn.net/download/fly_hps/10724893
  • 28. BEYAZ KUTU SM4 UYGULAMASI Standart blok şifrelerin mevcut beyaz kutu uygulamalarının arama tablolarının tümü, yeterli miktarda beyaz kutu çeşitliliği ve beyaz kutu belirsizlikleri [8] sağlar , bu da büyük doğrusal kodlamalarla karartılmış bu tabloların yerel olarak analiz edilmesini çok zorlaştırır. Bununla birlikte, mevcut saldırılar [9] , [10] , [11] , [12] , bunun yerine arama tablolarının kompozisyonlarını analiz ederek tablolara gömülü büyük doğrusal kodlamaları iptal ederek, kodlamaları 32 bit seviyesinden 8 bit seviyesine (veya 16 bit düzeyi) ve tur anahtar baytlarının çıkarılmasını kolaylaştıralım.
  • 29. BEYAZ KUTU SM4 UYGULAMASI Şekil 6. İş Akışı
  • 30. Arama tablolarının tasarımı Önceki bazı beyaz kutu uygulamalarının [8] , [16] aksine , hızlı bir uygulama elde etmek için, tüm doğrusal olmayan kodlamaları ve XOR performans gösteren arama tablolarını terk ediyoruz.Uygulamamız iki tür arama tablosundan oluşur: TD ve TR. TD, 8 bitlik bir girişi 32 bitlik bir çıkışla eşleyen bir tablo türüdür. Önceki 32 bit afin kodlamaların kodunu çözmek ve aağıda ki Denklemde (1≤ r ≤32, 0≤ j ≤3 ) tanımlandığı gibi yeni bir afin kodlama gerçekleştirmek için kullanılır ;
  • 31. Şifreleme / şifre çözme süreci Beyaz kutu SM4 uygulamamızın şifreleme ve şifre çözme süreci, sırasıyla şifreleme tur anahtarlarından ve şifre çözme tur anahtarlarından türetilen arama tabloları kullanılarak aynıdır. Dönüşüm süreci aşağıda ki Algoritmada gösterilmiştir.
  • 33. Kaynaklar [1] The Institute of Electrical and Electronics Engineers (IEEE), http://grouper.ieee.org/groups/802/11. [2] Office of State Commercial Cryptography Administration, P.R. China, The SMS4Block Cipher (in Chinese). Archive available at http://www.oscca.gov.cn/UpFile/200621016423197990.pdf. [3] National Institute of Standards and Technology, U.S.A., Advandced Encryption Standard (AES) FIPS-197, 2001. [4] Fu, H., Bai, G., Wu, X.: Low‐cost hardware implementation of SM4 based on composite field. In: IEEE Conference on Information Technology, Networking, Electronic and Automation Control, pp. 260–264. IEEE (2016)
  • 34. Kaynaklar [5] Li, Y., Wu, X., Bai, G.: Implementation of SM4 algorithm based on asynchronous dual‐rail low‐power design. In: 2018 14th IEEE international Conference on Solid‐State and Integrated Circuit Technology (ICSICT) (IEEE, no date), pp. 1–3 [6] Guan, Z., Li, Y., Shang, T., Liu, J., Sun, M., Li, Y.: Implementation of SM4 on FPGA: trade‐off analysis between area and speed. In: 2018IEEE international Conference on Intelligence and Safety for Robotics (ISR), pp. 192–197. IEEE (2018) [7] Mohd, B.J., Yousef, K.M.A., AlMajali, A., Hayajneh, T.: Power‐aware adaptive encryption. In: 2019IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT), pp. 711–716. IEEE (2019)