'un ayrılması için Java'nın RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING
adlı bir modu vardır. Bu ne anlama geliyor?RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING
RFC3447 , açık anahtarlı şifreleme sistemi Standartları (PKCS) # 1: RSA Şifreleme Özellikler Sürüm 2.1, bölüm 7.1.2 Şifre çözme işlemi Hash diyor ve MGF RSAES-OAEP-şifresini için her iki seçenek vardır. MGF, Bölüm B.2.1 MGF1'da tanımlanan kendi işlevidir ve bunun da kendi Hash "seçeneği" vardır.
Belki de RSAES-OAEP-DECRYPT ve MGF1'deki Hash "seçeneğinin" aynı olması gerekiyor veya belki de değiller, bana açık değil. Eğer onlar daha sonra RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING
varsa, her ikisi için sha256 kullanılmalıdır demektir sanırım. Fakat eğer aynı olmamaları gerekiyorsa, o zaman sha256'nın RSAES-OAEP-DECRYPT için ve örneğin MG1 için kullanılan sha1'i kullanabilirsiniz. Ve eğer durum buysa, o zaman sha256 hangi fonksiyonun kullanılmasını gerektiriyor? Ve diğer fonksiyon için karma algoritmanın kullanılması gerekiyor?
ECB bu bağlamda ne anlama geliyor? ECB bir simetrik blok şifreleme modudur. Elektronik Kod Kitabı. Belki de, Java'nın modulodan daha büyük olan düz metinlerle nasıl uğraştığı kastedilmeli? Örneğin, metin metnini, modüller kadar büyük olan parçalara böler ve sonra her birini RSA ile şifreler ve birleştirir? Sadece tahmin ediyorum ..
BouncyCastle kripto sağlayıcısı ile uğraşıyordum ve BouncyCastle, "RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING" konusunda farklı şekilde çalışıyor gibi görünüyor. yani. Java'nın varsayılan şifreleme sağlayıcısı, MGF hash bouncycastle'ın sha256'yı kullandığı sırada sha1 kullanıyor. Bu muhtemelen bağımsız olarak doğrulanmalıdır ama bana öyle geliyor .. – neubert
Sadece doğruladım, sun.security.rsa.RSAPadding OAEP SHA256 ile kullanıldığında, MGF1 fonksiyonu için SHA1 kullanıyor, bouncy castle SHA256'yı her ikisi için kullanıyor. neden uyumlu değiller. – peceps
@peceps Ek bilgi için teşekkürler. BC'nin varsayılan Sun uygulamasıyla uyumlu olmadığı birkaç köşe durumu vardır. Eğer BC takımına istekliyse soruyorum. –