Algoritme
"Algoritme terhadap fungsi yang dapat dihitung oleh algoritme": Untuk sebuah fungsi bisa ada beberapa algoritme.
Hal ini benar, bahkan tanpa mengembangkan kumpulan instruksi yang ada bagi programmer.
Rogers mengamati bahwa "Sangat ... penting untuk membedakan antara pengertian "algoritme", misalnya prosedur dan pernyataan "fungsi yang dihitung oleh algoritme", misalnya pemetaan hasil dari prosedur.
Fungsi yang sama bisa memiliki beberapa algoritme berbeda".
Sayangnya ada pertukaran antara kebaikan (kecepatan) dan elegan (kepadatan) -- sebuah program yang elegan bisa melakukan lebih banyak langkah untuk menyelesaikan sebuah komputasi daripada yang kurang elegan.
Sebuah contoh yang menggunakan algoritme Euclid bisa dilihat di bawah.
Kriptografi
Algoritme kunci publik paling sering didasari pada teori masalah kompleksitas komputasional, sering dengan [[teori bilangan]]. Sebagai contoh, kekuatan RSA berhubungan dengan masalah [[faktorisasi integer]], sedangkan Diffie-Hellman dan DSA berhubungan dengan masalah [[logaritma diskrit]]. Baru-baru saja, "kriptografi kurva eliptis" telah ditemukan, sistem di mana keamanan yang didasari pada masalah teoretis bilangan yang melibatkan kurva eliptis. Dikarenakan kesulitan masalah pokok, kebanyakan algoritme kunci-publik melibatkan operasi seperti eksponensial dan perkalian aritmetika modular, di mana teknik ini secara komputasional lebih "mahal" ketimbang teknik yang digunakan pada banyak chiper blok, khususnya dengan ukuran kunci yang dibutuhkan. Hasilnya, kriptosistem kunci-publik seringnya merupakan "kriptosistem hybrid", yang merupakan algoritme enkripsi kunci-simetris berkualitas tinggi digunakan untuk pesan itu sendiri, sedang kunci simetris yang relevan dikirimkan dengan pesan, namun dienkripsikan menggunakan algoritme kunci publik. Hampir sama, skema tanda tangan hybrid sering digunakan, di mana fungsi hash kriptogfari dihitung secara komputer, dan hanya hash hasil yang ditanda tangani secara digital.