为什么需要密码学?
满足现实中双方(或多方)利用计算机进行远距离应用(比如网上购物、网络投票、文件的安全传输)的要求,包括
一、通信内容保密--对要传输的数据进行保护,让其他人无法看到/知道
二、数据的完整性--能够验证接收到的数据在传输过程中是否被修改(包括有人恶意修改、通信信道产生的自然干扰)
三、事前身份认证--正式传输(机密)数据前,能够确认当前正在与我通信的对方确实就是我期望与之通信的人,即对方不是假冒的
四、事后对方不可抵赖--当前通信结束后,可以给出明确的证据证明对方参与了本次通信,使对方无法否认或抵赖
说明:
双方远距离通信是前提--如果双方(或多方)都在一起,直接面对面沟通就行了(第二、三个要求自然满足)
第一个要求,在没有其他人的场景下可以满足,第四个要求则需要辅助手段完成(比如录音,或者让对方对谈话内容签字)
第二个要求,如果数据验证不通过,则只能丢弃数据报文,并通知/期待对方重发。
第三个要求,非常重要,需要优先保障--辨别对方的身份真假是一切行动的前提。谁是我们的敌人?谁是我们的朋友?这是一个问题。
第四个要求,由于在计算机上伪造双方的通信记录很容易(即证据可以随便造假),一般很难给出令人信服的证据,证明对方参与了本次通信。
密码学是怎么实现的?--数学