• Sonuç bulunamadı

SIRASIZ İŞLEMCİLER İÇİN ÖZEL AES BUYRUKLARI EKLEME

N/A
N/A
Protected

Academic year: 2022

Share "SIRASIZ İŞLEMCİLER İÇİN ÖZEL AES BUYRUKLARI EKLEME"

Copied!
22
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

SIRASIZ İŞLEMCİLER İÇİN

ÖZEL AES BUYRUKLARI EKLEME

(2)

Sonuç ve Test Ortamı

Mimari Detayları Giriş/Ön Bilgi

AJANDA

(3)

GİRİŞ

Gözlem

– AES algoritması kriptolojide en çok kullanılan algoritmalardan biri

– Yüksek performanslı ve güvenlikli şifreleme ihtiyacı

AES algoritması gerçekleme yöntemleri:

Gerçekleme Yöntemi Performans Esneklik

Genel amaçlı buyruklar ile yazılım Özel donanım

Özel donanım + Özel buyruklar ile yazılım

(4)

AES ALGORİTMASI

AES algoritması ‘round’lardan oluşur:

– Substitute bytes

Shift rows – Mix columns

– Add round key

Anahtar Uzunluğu Round Sayısı

128-bit 10+1

192-bit 12+1

256-bit 14+1

(5)

ÖZEL AES BUYRUKLARI

Buyruk Yazmaç Tanım

aeskey rs1,rs2 Türetilmiş anahtarları yükleme aesend rs1,rs2 Son türetilmiş anahtarı yükleme

aesenc rd,rs1,rs2 128-bit blok şifreleme ve 64-bit sonucu yükleme aesdec rd,rs1,rs2 128-bit blok şifre çözme ve 64-bit sonucu yükleme aesload rd Şifreleme işlemi sonucu kalan 64-bit sonucu yükleme

RISC-V ISA genişlemesi

Derleyici • İşlemci Mimarisi

(6)

BOOM

64-bit RISC-V İşlemci Çekirdeği:

• Sırasız Yürütme • Çoklu İşleme • Spekülatif İşlemler

(7)

.

MİMARİ

• Çöz

– Özel AES buyrukları tanımı

• Yürütme

– AES modülünü ekleme

(8)

YÜRÜTME

Buyruk Tipleri Fonksiyonel Modüller Tam Sayı

Aritmetik ALU

Dallanma BRU

Hafıza Erişimi MEM EXE + LSU Tam Sayı Bölme iDIV

Tam Sayı

Çarpma iMUL

CSR Kontrol CSR EXE Kayan Nokta

Aritmetik FPU

Kayan Nokta

Bölme fDIV/fSQRT

AES İşlemleri AES

(9)

• Tek Yazmaç Yazma Portu

– İki buyruk ile sonuç yükleme

• Port Paylaşımı

– Dağıt portu – Yazmaç portları

• Gerçekleme Zorlukları

– ‘Routing congestion’

YÜRÜTME

(10)

• Açık kaynak AES yazılımı

– Özel buyrukları ‘inline assembly’ kodu ile kullanmak

• Test ortamı

– FPGA kartı: Xilinx VCU108 – Saat frekansı: 50 MHz

PERFORMANS DEĞERLENDİRMESİ

(11)

1,57 2,16 2,17

1,16 1,45 1,45

12,52

36,23

39,40

8,90

33,73

38,19

0,00 5,00 10,00 15,00 20,00 25,00 30,00 35,00 40,00 45,00

64 B 1 KB 64 KB

Pe rforma ns [Mb ps ]

AES CBC Blok Şeması

AES CBC

(12)

İşlemciler

Saat Frekansı

[MHz]

SW Performansı

[MB/s]

HW Performansı

[MB/s]

HW

Performansı [KB/(s*MHz*Core)]

BOOM-AES 50 0.27 4.92 100.76

ESP32* 240 1.10 5.28 22.52

PIC32MZ* 200 0.26 5.78 29.59

STM32F756* 216 3.38 15.02 6.79

Apple A11 (6 core)*

2.39

[GHz] 24.94 912.34 63.62

Karşılaştırma Parametreleri:

– Mod: AES-CBC-128 – Şifreleme boyutu: 64 KB

KARŞILAŞTIRMA

(13)

• Kaynak Kullanımı

• Zamanlama Etkisi

KAYNAK KULLANIMI ve ZAMANLAMA

LUTs FFs RAMB36

Çekirdeğin toplam kaynak kullanımı 186.667 61581 17

AES modülünün kaynak kullanımı 601 (%0.3)

585 (%0.9)

10 (%58)

Positive Slack

Bütün tasarımın en kötü zamanlaması +1.022 ns

(14)

SONUÇ

• RISC-V ISA genişlemesi

• Sırasız işlemci için AES modülü eklenmesi

– AES algoritması için ~25x performans

• Yapılacak çalışmalar

– Detaylı doğrulama çalışması

– Sırasız ve spekülatif AES buyrukları yürütme

– ASIC tasarım süreci için değerlendirme

(15)

TEŞEKKÜRLER 

(16)

Referanslar

1. Daemen, Joan, and Vincent Rijmen. "AES proposal: Rijndael." (1999).

2. Chen, Lily, et al. Report on post-quantum cryptography. US Department of Commerce, National Institute of Standards and Technology, 2016.

3. R. B. Lee, Z. Shi, and X. Yang. Efficient permutation instructions for fast software cryptography. IEEE Micro, 21(6):56–

69, Nov./Dec. 2001.

4. Brickell, Ernie, et al. "Software mitigations to hedge AES against cache-based software side channel vulnerabilities."

IACR Cryptology ePrint Archive 2006 (2006): 52.

5. Akdemir, Kahraman, et al. "Breakthrough AES performance with intel AES new instructions." White paper, June (2010):

11.

6. Bertoni, Guido Marco, et al. "Speeding up AES by extending a 32 bit processor instruction set." IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06). IEEE, 2006.

7. Elbirt, Adam J. "Fast and efficient implementation of AES via instruction set extensions." 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07). Vol. 1. IEEE, 2007.

8. Tillich, Stefan, Johann Großschädl, and Alexander Szekely. "An instruction set extension for fast and memory-efficient AES implementation." IFIP International Conference on Communications and Multimedia Security. Springer, Berlin, Heidelberg, 2005.

9. Webb, Charles F. "IBM z10: The next-generation mainframe microprocessor." IEEE micro 28.2 (2008): 19-29.

10. C. Celio, P.-F. Chiu, B. Nikolic, D. A. Patterson, and K. Asanovi,“Boom v2: an open-source out-of-order risc-v core,”

tech. rep., EECS Department, University of California, Berkeley, 2017.

11. Waterman, Andrew, et al. "The risc-v instruction set manual, volume i: Base user-level isa." EECS Department, UC Berkeley, Tech. Rep. UCB/EECS-2011-62 116 (2011).

12. J. Bachrach, H. Vo, B. Richards, Y. Lee, A. Waterman, R. Aviˇzienis, J. Wawrzynek, and K. Asanovi´c, “Chisel:

Constructing hardware in a scala embedded language,” in DAC Design Automation Conference 2012,June 2012, pp.

1212–1221.

13. https://github.com/riscv/riscv-gcc 14. https://github.com/hplp/aes_chisel 15. https://github.com/kokke/tiny-AES-c

(17)

Özel AES Buyruklarının Kullanımı

AES-128 Anahtar Yükleme

uint64_t c; //dummy value uint64_t **key_64;

*key_64 = RoundKey; // for casting from 8-bit to 64-bit

asm volatile("aeskey %[z], %[x], %[y]\n\t": [z] "=r" (c) : [x] "r" (((*key_64)[0])), [y] "r" (((*key_64)[1])));

asm volatile("aeskey %[z], %[x], %[y]\n\t": [z] "=r" (c) : [x] "r" (((*key_64)[2])), [y] "r" (((*key_64)[3])));

………

asm volatile("aeskey %[z], %[x], %[y]\n\t": [z] "=r" (c) : [x] "r" (((*key_64)[18])), [y] "r" (((*key_64)[19])));

asm volatile("aesend %[z], %[x], %[y]\n\t": [z] "=r" (c) : [x] "r" (((*key_64)[20])), [y] "r" (((*key_64)[21])));

AES Şifreleme

uint64_t **buf_64;

*buf_64 = buf; // for casting from 8-bit to 64-bit

asm volatile("aesenc %[z], %[x], %[y]\n\t": [z] "=r" (((*buf_64)[0])) : [x] "r" (((*buf_64)[0])), [y] "r" (((*buf_64)[1])));

(18)

.

Mimari

Çöz

– Özel AES buyrukları tanımı

Yürütme

– AES modülünü ekleme

(19)

ISA Genişlemesi

• AES ‘round’u için buyruk

• Intel ve AMD (AES-NI)

• ARM

• AES algoritması için buyruk

• IBM

‘Memory-mapped’

Hızlandırıcı

• STM32

• Infineon AURIX

• Atmel XMEGA

BENZER ÇALIŞMALAR

(20)

Beklenen Buyruk Davranışı

• Yazmaca yazma

• Yan-kanal etkisi bırakmama

AES Buyrukları Davranışı

• Sıralı anahtar yükleme

• İki buyruk ile sonuç yükleme

• Yan-kanal etkisi!

Çöz Biriminde Çözüm

• AES buyruklarını

• Sıralı ve

• Spekülasyon

olmadan yürütme

ÇÖZ

(21)

.

• AES Modülü

– Türetilmiş Anahtar Hafızası – Şifreleme

• AES Fonksiyonel Modülü

– ‘Iterative’

AES MODÜLÜ

(22)

1,51 2,00 2,01

1,15 1,46 1,47

9,82

29,53

34,58

8,19

28,50

33,28

0,00 5,00 10,00 15,00 20,00 25,00 30,00 35,00 40,00

64 Byte 1 Kbyte 64 Kbye

Pe rforma ns [Mb ps ]

Şifreleme Boyutu

AES CTR Blok Şeması

AES CTR

Referanslar

Benzer Belgeler

100 KHz bant geni li inde low-pass kanal ile maksimum bit rate

Ankara İli Bilgi İletişim Teknolojileri Sektörü İnovasyon Kapasitesi Stratejik Analizi Projesi

gm yapma programı indir .zara hasretinle yandı gönlüm facebook video indir.real basketball hile apk indir android oyun club.ttec plus driver indir windows 7.Hp laserjet p1005

çarpım/ faktöriyel kombinasyon hesaplarını yapacak algoritmaları (akış diyagramlarını)

Microsoft firması 2005 yılı içerisinde 64-Bit işlemci dünyasına Windows XP 64 Bit Edition ile adım attı. Ayrıca Windows2003 sunucusunu da 64-Bit desteğiyle kullanıcılara

ücretsiz 3d savaş oyunları indir.turbobit oyun indir pc.cep virüs programı indir bedava.sağlam indir.net mbot.Itunes en son sürüm indir türkçe 64 bit -

Bu yayın sadece yazarın görüşlerini yansıtmaktadır ve Komisyon bu yayındaki bilginin herhangi bir şekilde kullanımından sorumlu tutulamaz.. Learning Tree, Project

asgari geçim indirimi net asgari ücrete dahil midir.7934243386853476.arsız bela 2013 şarkıları indir mp3.Microsoft security essentials windows 64 bit indir - nokia e72 uyumlu