ACE Şifrele - ACE Encrypt

ACE (Gelişmiş Şifreleme Motoru) - hem bir açık anahtar şifreleme şeması hem de bir dijital imza şeması uygulayan birimler koleksiyonu. Bu şemalar için karşılık gelen isimler - «ACE Şifreleme» ve «ACE İşareti». Şemalar, Cramer-Shoup açık anahtar şifreleme şemasına ve Cramer-Shoup imza şemasına dayanmaktadır. Bu şemaların tanıtılan varyantları, tüm şifreleme sisteminin performansı ve güvenliği arasında iyi bir denge sağlamayı amaçlamaktadır.

Yazarlar

ACE'de uygulanan tüm algoritmalar, Victor Shoup ve Ronald Cramer tarafından geliştirilen algoritmalara dayanmaktadır. Algoritma özelliklerinin tamamı Victor Shoup tarafından yazılmıştır. Algoritmaların uygulanması Thomas Schweinberger ve Mehdi Nassehi tarafından yapılır, desteklenmesi ve sürdürülmesi Victor Shoup tarafından yapılır. Thomas Schweinberger, ACE şartname belgesinin yapımına katıldı ve ayrıca bir kullanım kılavuzu yazdı.

Ronald Cramer şu anda Aarhus üniversitesinde kalıyor. Danimarka. ETH'de kalırken ACE Encrypt projesinde çalıştı. Zürih, İsviçre.

Mehdi Nassehi ve Thomas Schweinberger, IBM araştırma laboratuvarında ACE projesi üzerinde çalıştı. Zürih, İsviçre.
Victor Shoup, IBM araştırma laboratuvarında çalışıyor Zürih, İsviçre.

Güvenlik

ACE'deki şifreleme şemasının, makul ve doğal olarak anlaşılamazlık varsayımları altında güvenli olduğu kanıtlanabilir. Bu dört varsayım şunlardır:

  • Karar Verici Diffie-Hellman (GKD) varsayımı
  • Güçlü RSA varsayımı
  • SHA-1 saniye ön görüntü çarpışma direnci
  • MARS toplam / sayaç modu sözde rastgelelik

Temel Terminoloji ve Gösterim

Burada, bu makalede kullanılan bazı gösterimleri sunuyoruz.

Temel matematiksel gösterim

- Tam sayılar kümesi.
- Sonlu alanda katsayıları olan tek değişkenli polinomlar kümesi kardinalite 2.
- tamsayı öyle ki tamsayı için ve .
- polinom ile öyle ki ile .

Temel dize gösterimi

- Tüm dizelerin kümesi.
- n uzunluğundaki tüm dizelerin kümesi.
İçin - ip uzunluğu . Sıfır uzunluk dizesi gösterilir .
İçin - sonucu ve bitiştirme.

Bitler, Baytlar, Kelimeler

- Bit kümesi.
Tüm formları alalım . Böyle bir A kümesi için "sıfır elemanı" tanımlarız:

;
için .

Biz tanımlıyoruz bayt kümesi olarak ve bir dizi kelime olarak.

İçin ile ve bir dolgu operatörü tanımlıyoruz:

.

Dönüşüm operatörü

Dönüşüm operatörü elemanlar arasında bir dönüşüm yapar .

Şifreleme Şeması

Şifreleme Anahtar Çifti

Şifreleme şeması iki anahtar türü kullanır:
ACE genel anahtarı: .
ACE özel anahtarı: .
Belirli bir boyut parametresi için m , öyle ki , temel bileşenler şu şekilde tanımlanır:
- 256 bitlik bir asal sayı.
- m bitlik bir asal sayı, öyle ki .
- elementler (çarpımsal sıra modülü böler ).
- elementler .
- elementler ile ve , nerede ve .

Anahtar Üretimi

Algoritma. ACE şifreleme şeması için Anahtar Üretimi.
Giriş: boyut parametresi m , öyle ki .
Çıktı: bir genel / özel anahtar çifti.

  1. Rastgele bir asal oluştur , öyle ki .
  2. Rastgele bir asal oluştur ,
  3. Rastgele bir tamsayı oluşturun , öyle ki .
  4. Rastgele tamsayılar oluşturun ve
  5. Aşağıdaki tam sayıları hesaplayın :
    ,
    ,
    ,
    ,
    .
  6. Rastgele bayt dizeleri oluşturun ve , nerede ve .
  7. Genel anahtar / özel anahtar çiftini iade edin

Şifreli Metin Gösterimi

ACE şifreleme şemasının bir şifreli metni şu şekildedir:

,


bileşenler şu şekilde tanımlanır:
- tam sayılar (çarpımsal sıra modülü böler ).
- öğe .
- öğe .
biz ararız önsöz, ve - kriptogram. Düz metin, aşağıdakilerden oluşan bir dizeyse байт, sonra uzunluğu eşittir .
İşlevi tanıtmamız gerekiyor , bir şifreli metni bayt dizesine eşleyen

gösterim ve karşılık gelen ters fonksiyon . Tamsayı için , kelime dizgisi , tamsayılar ve bayt dizesi ,

.


Tamsayı için , bayt dizesi , öyle ki ,

.

Şifreleme Süreci

Algoritma. ACE asimetrik şifreleme işlemi.
girdi: genel anahtar ve bayt dizesi .
Çıktı: bayt dizesi - şifreli metin nın-nin .

  1. Oluştur rastgele.
  2. Şifreli metin önsözünü oluşturun:
    1. Oluştur rastgele.
    2. Hesaplama , .
    3. Hesaplama ; Bunu not et .
    4. Hesaplama .
  3. Simetrik şifreleme işlemi için anahtarı hesaplayın:
    1. , .
    2. Hesaplama .
  4. Hesaplama şifresi .
  5. Şifreli metni kodlayın:
    .
  6. Dönüş .

Simetrik şifreleme işlemine başlamadan önce, giriş mesajı bloklara bölünmüştür , burada blokların her biri, muhtemelen sonuncusu hariç, 1024 bayttır. Her blok, akış şifresi ile şifrelenir. Her şifrelenmiş blok için 16 baytlık mesaj kimlik doğrulama kodu hesaplanır. Kriptogramı alıyoruz

..

Unutmayın eğer , sonra .

Algoritma. ACE asimetrik şifreleme işlemi.
Giriş:
Çıktı: , .

  1. Eğer , sonra geri dön .
  2. Bir sözde rastgele üretici durumunu başlatın:
  3. Anahtarı oluştur :
    .
  4. .
  5. Süre , aşağıdakileri yapın:
    1. .
    2. Şifreleme ve MAC için maske değerleri oluşturun:
      1. .
      2. .
    3. Düz metni şifreleyin: .
    4. Mesaj kimlik doğrulama kodunu oluşturun:
      1. Eğer , sonra ; Başka .
      2. .
    5. Şifreli metni güncelleyin: .
    6. .
  6. Dönüş .

Şifre çözme işlemi

Algoritma. ACE şifre çözme işlemi.
Giriş: genel anahtar ve ilgili özel anahtar byt e dizesi .
Çıktı: Şifresi çözülmüş mesaj .

  1. Şifreli metnin şifresini çözün:
    1. Eğer , sonra geri dön .
    2. Hesapla:
      ;

      Bunu not et , nerede .
  2. Şifreli metin girişini doğrulayın:
    1. Eğer veya veya , sonra geri dön .
    2. Eğer , sonra geri dön .
    3. .
    4. Eğer , sonra .
    5. Hesaplama ; Bunu not et .
    6. Eğer , sonra .
    7. Eğer , sonra geri dön .
  3. Simetrik şifre çözme işlemi için anahtarı hesaplayın:
    1. , .
    2. Hesaplama .
  4. Hesaplama ;Bunu not et dönebilir .
  5. Dönüş .

Algoritma. Şifre çözme işlemi .
Giriş:
Çıktı: Şifresi çözülmüş mesaj .

  1. Eğer , sonra geri dön .
  2. Bir sözde rastgele üretici durumunu başlatın:
  3. Anahtarı oluştur :
    .
  4. .
  5. Süre , aşağıdakileri yapın:
    1. .
    2. Eğer , sonra geri dön .
    3. Şifreleme ve MAC için maske değerleri oluşturun:
      1. .
      2. .
    4. Mesaj kimlik doğrulama kodunu doğrulayın:
      1. Eğer , sonra ; Başka .
      2. .
      3. Eğer , sonra geri dön .
    5. Düz metni güncelleyin: .
    6. .
  6. Dönüş .

İmza Şeması

İmza şeması iki anahtar türü kullanır:
ACE İmza genel anahtarı: .
ACE İmzası özel anahtarı: .
Verilen boyut parametresi için , öyle ki , temel bileşenler şu şekilde tanımlanır:
-bit asal sayı ile - aynı zamanda bir asal sayıdır.
-bit asal sayı ile - aynı zamanda bir asal sayıdır.
ve ikisine de sahip veya бит.
- elementler (ikinci dereceden kalıntılar modulo ).
- 161 bitlik asal sayı.
- öğe
- elementler .
- elementler .

Anahtar Üretimi

Algoritma. ACE açık anahtar imza şeması için anahtar üretimi.
Giriş: boyut parametresi , öyle ki .
Çıktı: genel / özel anahtar çifti.

  1. Rastgele asal sayılar oluşturun, öyle ki ve - aynı zamanda bir asal sayıdır ve
    и ,
    nerede
    ve .
  2. Ayarlamak .
  3. Rastgele asal sayı üret , где .
  4. Rastgele oluştur , hesaba katarak ve ve hesapla .
  5. Rastgele oluştur ve hesapla .
  6. Rastgele bayt dizeleri oluşturun , ve .
  7. Genel anahtar / özel anahtar çiftini döndür
    .

İmza Temsilciliği

ACE imza şemasındaki imza şu şekildedir: , bileşenlerin aşağıdaki şekilde tanımlandığı yerlerde:
- öğe .
- tam sayı, öyle ki .
- elementler .
- öğe ;Bunu not et , nerede - mesaj imzalanıyor.

Tanıtmamız gerek bir imzayı bayt dizesi temsiline eşleyen işlev ve karşılık gelen ters işlev . Tamsayı için , bayt dizesi , tamsayılar ve ve bayt dizesi ,

.


Tamsayı için , bayt dizesi , nerede ,

.

İmza Oluşturma Süreci

Algoritma. ACE İmza Oluşturma Süreci.
Giriş: genel anahtar ve ilgili özel anahtar ve bayt dizesi , .
Çıktı: bayt dizesi - dijital imza .

  1. Giriş verilerine hashing uygulamak için aşağıdaki adımları uygulayın:
    1. Bir karma anahtar oluşturun rastgele, öyle ki .
    2. Hesaplama .
  2. Seçiniz rastgele ve hesapla .
  3. Hesaplama .
  4. Rastgele bir asal oluştur , ve doğruluk belgesi : . Kadar bu adımı tekrarlayın. .
  5. Ayarlamak ; Bunu not et .
  6. Hesaplama , nerede
    ,

    ve nerede ve .
  7. İmzayı kodlayın:
    .
  8. Dönüş

Notlar

ACE Şifreleme süreci ve ACE İmza sürecinin tanımında, tanımı bu makalenin ötesine geçen bazı yardımcı fonksiyonlar (örneğin, UOWHash, ESHash ve diğerleri) kullanılmaktadır. Bununla ilgili daha fazla ayrıntı в'da bulunabilir.[1]

Uygulama, Kullanım ve Performans

ACE Şifreleme şeması, asimetrik şifreleme şeması olarak NESSIE (Yeni Avrupa İmzalar, Bütünlük ve Şifreleme Şemaları) tarafından önerilmektedir. Basın açıklaması Şubat 2003 tarihlidir.

Her iki şema da GNU GMP kitaplığı kullanılarak ANSI C'de uygulandı. Testler iki platformda yapılmıştır: AIX sistemi altında Power PC 604 model 43P ve Windows NT sistemi altında 266 MHz Pentium. Sonuç tabloları:

Tablo 1. Temel işlemlerde zaman maliyetleri.

Güç PCPentium
Operand boyutu (bayt)Operand boyutu (bayt)
51210245121024
Çarpma işlemi3,5 * 10 ^ (- 5) saniye1,0 * 10 ^ (- 4) saniye4,5 * 10 ^ (- 5) saniye1,4 * 10 ^ (- 4) saniye
Kare alma3,3 * 10 ^ (- 5) saniye1,0 * 10 ^ (- 4) saniye4,4 * 10 ^ (- 5) saniye1,4 * 10 ^ (- 4) saniye
Üs alma1,9 * 10 ^ (- 2) saniye1,2 * 10 ^ (- 1) saniye2,6 * 10 ^ (- 2) saniye1,7 * 10 ^ (- 1) saniye

Tablo 2. Şifreleme şeması ve imza şemasının performansı.

Güç PCPentium
Sabit maliyetler (ms)MBit / snSabit maliyetler (ms)MBit / sn
Şifrele1601823016
Şifreyi çöz68189714
İşaret48646252
Oturum açma2941
Doğrulayın52657353

Edebiyat

Dış bağlantılar