作为一个非密码学家,我总有一件让我印象深刻的事情:为什么使用素数如此重要?是什么让它们在密码学中如此特别?
有没有人有一个 简单 的简短解释?(我知道有很多入门书,应用密码学就是圣经,但正如所说:我不打算实现自己的密码算法,而我发现的东西让我的大脑爆炸了——没有十页的数学公式请)。
最基本和最一般的解释:密码学都是关于数论的,所有整数(除了 0 和 1)都是由素数组成的,所以在数论中你会处理很多素数。
更具体地说,一些重要的加密算法(如RSA )严重依赖于大数的素数分解需要很长时间这一事实。基本上,您有一个“公钥”,由用于加密消息的两个大素数的乘积组成,以及一个由用于解密消息的这两个素数组成的“秘密密钥”。您可以公开公钥,每个人都可以使用它来加密给您的消息,但只有您知道主要因素并可以解密消息。考虑到当前数论艺术的现状,其他人都必须考虑这个数字,这需要很长时间才能实用。