Jika saya memiliki pesan yang disandikan dan aslinya, apakah mungkin untuk menyimpulkan kunci pribadi?
Tidak. Itu adalah titik kunci asimetris (publik dan pribadi) karena Anda dapat dengan mudah menyandikan pesan dengan kunci publik (itulah gunanya ) Anda memiliki pesan de- dan terenkripsi. Tetapi mendekripsi pesan terenkripsi hanya mungkin dengan kunci pribadi. Kunci pribadi tidak dapat dibuat ulang.
Karena belum disebutkan: ini dikenal sebagai serangan dikenal-plaintext , dan akan menjadi kerentanan yang sangat buruk untuk dimiliki oleh sebuah cipher. Faktanya, dalam crypto kunci publik serangan ini setara dengan serangan plaintext yang dipilih , karena siapa pun dapat mengenkripsi pesan apa pun!
Ada telah sebenarnya telah beberapa serangan dikenal / dipilih-plaintext terhadap RSA (cipher kunci publik yang paling sering digunakan oleh PGP untuk mengenkripsi kunci simetris) , tetapi mereka biasanya melibatkan serangan side-channel terhadap implementasi miskin , atau memerlukan jumlah gila ciphertexts , atau hanya bekerja melawan kunci langka tertentu .
Namun, secara umum, jawaban untuk pertanyaan Anda adalah "tidak" - itulah yang membuat sandi aman.
Tidak, ini akan sangat buruk. Enkripsi PGP menggunakan kombinasi serial hashing, kompresi data, kriptografi kunci simetris dan akhirnya kriptografi kunci publik. Hashing menggunakan fungsi satu arah . Fungsi satu arah adalah fungsi yang mudah dihitung, tetapi sulit untuk dibalik. Kriptografi kunci publik menggunakan algoritma asimetris.
Algoritma yang digunakan untuk kriptografi kunci publik didasarkan pada hubungan matematika (yang paling terkenal adalah faktorisasi bilangan bulat dan masalah logaritma diskrit) yang mungkin tidak memiliki solusi yang efisien. Meskipun secara komputasi mudah bagi penerima yang dituju untuk membuat kunci publik dan pribadi, untuk mendekripsi pesan menggunakan kunci pribadi, dan mudah bagi pengirim untuk mengenkripsi pesan menggunakan kunci publik, itu sangat sulit (atau secara efektif tidak mungkin) untuk siapa pun yang mendapatkan kunci privat, hanya berdasarkan pengetahuan mereka tentang kunci publik.
Hanya memiliki pesan asli tidak cukup untuk menyimpulkan kunci pribadi.
Ada dua jawaban untuk ini.
Apakah secara teori itu mungkin? Iya. Anda dapat membuat kunci palsu, coba enkripsi, lihat apakah cocok. Jika tidak, coba kunci palsu lain, enkripsi, lihat apakah hasilnya cocok. Ini biasa disebut serangan brute force
Dalam praktiknya, ini tidak bisa dilakukan. Diperlukan waktu dan kekuatan komputasi yang tidak nol untuk mencoba ini. Enkripsi PGP biasanya menggunakan kunci ukuran yang layak, mungkin 512, 1024, 2048, atau bahkan lebih banyak bit. Ruang-kunci (jumlah kunci yang mungkin Anda miliki) begitu besar sehingga Anda perlu selamanya untuk menemukan kombinasi ini.
Dugaan saya adalah Anda bertanya apakah Anda benar-benar bisa melakukan ini, bukan teorinya. Jadi jawabannya adalah tidak. Dunia tidak memiliki kekuatan komputasi yang cukup untuk ini. Jika Anda bertanya di security.stackexchange.com, seseorang yang lebih terbiasa dengan algoritma dan matematika dapat memberi tahu Anda berapa lama ini akan berlangsung (mungkin sampai matahari bermetastasis dan mendidih planet kita). Jawaban singkat saya adalah "tidak dalam masa hidup Anda"
Tidak mungkin, itu mungkin membantu tetapi seharusnya tidak membuat Anda terlalu jauh. Formulir keamanan mungkin merupakan tempat yang lebih baik untuk ini, tetapi:
Anda harus memiliki beberapa langkah untuk enkripsi, minimal bahkan yang layak harus memiliki seed, hash, dan salt.
Misalnya, Anda mungkin memiliki garam untuk membuat semua kata sandi 64 bit panjang, dan kemudian jalankan melalui hash. Jika itu hanya hash, maka akan sangat mudah retak.
Ini adalah versi yang sangat sederhana ... tetapi tidak semudah itu.