邮箱如何秘密发送多个人邮件_如何发送秘密消息

邮箱如何秘密发送多个人邮件

Cryptography is the science of using codes and ciphers to protect messages, at its most basic level. Encryption is encoding messages with the intent of only allowing the intended recipient to understand the meaning of the message. It is a two way function (you need to be able to undo whatever scrambling you’ve done to the message). This is designed to protect data in transit.

密码术是在最基本的级别上使用代码和密码保护消息的科学。 加密是在对消息进行编码时,仅允许目标收件人理解消息的含义。 这是一种双向功能(您需要能够撤消对消息所做的任何加扰操作)。 旨在保护传输中的数据。

One of the earliest ciphers involved a simple shift. For example, if you just shift all the letters in the alphabet by a few, the alphabet might look like the following:

最早的密码之一就是简单的转换。 例如,如果仅将字母表中的所有字母移位几个,则该字母表可能如下所示:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

ABCDEFGHIJKLMNOPQRSTUVWXYZ

NOPQRSTUVWXYZABCDEFGHIJKLM

NOPQRSTUVWXYZABCDEFGHIJKLM

Then, each letter of the alphabet corresponds to a different letter, but it is difficult to figure out which one, if you don’t already know. Using this cipher, the message, ‘Hello’ translates to ‘Uryyb’.

然后,字母表中的每个字母对应一个不同的字母,但是如果您不知道哪个字母,则很难弄清楚哪个字母。 使用此密码,消息“ Hello”将转换为“ Uryyb”。

Unfortunately, advances in analysis, particularly pattern analysis driven by very powerful computers, made these types of cyphers very easy to break.

不幸的是,分析的进步,特别是由功能强大的计算机驱动的模式分析,使得这些类型的密码非常容易破解。

In response to that, we’ve developed very strong, complex algorithms. These can be broken down into two basic types of encryptions — symmetric algorithms and asymmetric algorithms.

为此,我们开发了非常强大的复杂算法。 它们可以分为两种基本类型的加密-对称算法和非对称算法。

Symmetric algorithms are also known as ‘secret key’ algorithms, and asymmetric algorithms are known as ‘public key’ algorithms. The key difference between the two is that symmetric algorithms use the same key to encode and decode (see the first figure below), while asymmetric algorithms use different keys for encryption and decryption (see the second figure below).

对称算法也称为“秘密密钥”算法,非对称算法也称为“公共密钥”算法。 两者之间的关键区别在于对称算法使用相同的密钥进行编码和解码(请参见下面的第一张图),而非对称算法使用不同的密钥进行加密和解密(请参见下面的第二张图)。

As you can see in the above figure, with symmetric encryption, if Bob and Midge want to communicate, Bob first encrypts his message with the secret key (the encrypted message is called ciphertext). Then he sends it to Midge. Midge then decrypts the message with the same secret key and is able to read the message. To send a message back, the process is reversed.

如上图所示,使用对称加密,如果Bob和Midge想要进行通信,Bob首先使用秘密密钥对他的消息进行加密(加密的消息称为密文)。 然后,他将其发送给Midge。 然后,Midge使用相同的密钥解密该消息,并能够读取该消息。 要发回消息,该过程被逆转。

This process is fast, scalable, and very secure. The problem with it is that it requires both parties to already have the same secret key. If they don’t, they need to pass it along insecure channels, which essentially removes the security of the encryption.

此过程快速,可扩展且非常安全。 它的问题在于,它要求双方已经拥有相同的密钥。 如果不这样做,则需要将其沿着不安全的通道传递,这实际上消除了加密的安全性。

With Asymmetric encryption, as in the above figure, if Bob and Midge want to communicate, Bob encrypts his message with Midge’s public key and sends it to her. She then decrypts the message with her private key to read it. To send a message back, the process is reversed.

如上图所示,使用非对称加密,如果Bob和Midge想要通信,Bob将使用Midge的公钥加密其消息并将其发送给她。 然后,她用她的私钥解密该消息以读取它。 要发回消息,该过程可以逆转。

In this way, anyone can send Midge a message, as she can make her public key available to anyone, but only she can decrypt a message (as she keeps her private key secret). It also solves the need to pass a secret key along insecure channels, because there is no need to pass a secret at all. The disadvantage is that it requires everyone who wants to communicate to have two different keys (not scalable), and it is relatively slow.

这样,任何人都可以向Midge发送消息,因为她可以将其公共密钥提供给任何人,但是只有她可以解密消息(因为她将私有密钥保密)。 这也解决了沿着不安全的通道传递秘密密钥的需要,因为根本不需要传递秘密。 缺点是它要求每个要通信的人都具有两个不同的密钥(不可伸缩),并且速度较慢。

In general, when talking about encryption, the most important considerations are:

通常,在谈论加密时,最重要的注意事项是:

  • Authentication/Nonrepudiation — Whether or not you can prove where messages originated (Am I sure who sent this message?).

    身份验证/不可否认性-您是否可以证明消息的来源(我确定谁发送了此消息吗?)。
  • Reuse — Can I continue to use this key or will it need to be regenerated for each new communication?

    重用-我可以继续使用此密钥,还是需要为每个新通信重新生成它?
  • Effectiveness — How fast can I transfer large amounts of data?

    有效性-我可以多快地传输大量数据?
  • Scalability — Is this feasible for large groups?

    可伸缩性—这对于大型团体是否可行?
  • Distribution — how do you distribute keys to the people who you’re communicating with, without divulging the secret to anyone else?

    分发-您如何将密钥分发给与您交流的人,而又不将秘密泄露给其他任何人?

That’s where significant differences start to come up between symmetric and asymmetric encryption, summarized below:

这就是对称和非对称加密之间开始出现显着差异的地方,总结如下:

In order to use the best of both worlds, many modern encryption protocols will use asymmetric encryption to establish a connection and create a shared secret. Then, they will switch to symmetric encryption to benefit from the speed difference.

为了使用两全其美,许多现代加密协议将使用非对称加密来建立连接并创建共享机密。 然后,他们将切换到对称加密以从速度差异中受益。

翻译自: https://www.freecodecamp.org/news/how-to-send-secret-messages/

邮箱如何秘密发送多个人邮件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 面试题 17.21. 直方图的水量(单调栈)

给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水&a…

python:动态参数*args

动态参数 顾名思义,动态参数就是传入的参数的个数是动态的,可以是1个、2个到任意个,还可以是0个。在不需要的时候,你完全可以忽略动态函数,不用给它传递任何值。 Python的动态参数有两种,分别是*args和**kw…

3.5. Ticket

过程 3.4. Ticket 使用方法 New Ticket 新建Ticket, Ticket 可以理解为任务。 将Ticket 分配给团队成员 受到Ticket后,一定要更改Ticket 为 accept , 这时在View Tickets 中将会看到该Ticket已经分配, 编码过程 这里有一个特别的规定&…

Python操作Mysql实例代码教程在线版(查询手册)_python

实例1、取得MYSQL的版本在windows环境下安装mysql模块用于python开发MySQL-python Windows下EXE安装文件下载 复制代码 代码如下:# -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con None try: #连接mysql的方法:connect(ip,user,pass…

批判性思维_为什么批判性思维技能对数据科学家至关重要

批判性思维As Alexander Pope said, to err is human. By that metric, who is more human than us data scientists? We devise wrong hypotheses constantly and then spend time working on them just to find out how wrong we were.正如亚历山大波普(Alexander Pope)所说…

leetcode 1143. 最长公共子序列(dp)

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以…

【Spark】SparkStreaming-Kafka-Redis-集成-基础参考资料

SparkStreaming-Kafka-Redis-集成-基础参考资料 Overview - Spark 2.2.0 DocumentationSpark Streaming Kafka Integration Guide - Spark 2.2.0 DocumentationSpark Streaming Kafka Integration Guide (Kafka broker version 0.8.2.1 or higher) - Spark 2.2.0 Documentat…

Manjaro 17 搭建 redis 4.0.1 集群服务

安装Redis在Linux环境中 这里我们用的是manjaro一个小众一些的发行版 我选用的是manjaro 17 KDE 如果你已经安装好了manjaro 那么你需要准备一个redis.tar.gz包 这里我选用的是截至目前最新的redis 4.0.1版本 我们可以在官网进行下载 https://redis.io/download选择Stable &…

了解如何使用Flutter构建iOS和Android应用

Learn Flutter in this full course from Nick Manning (of fluttercrashcourse.com). Flutter is Google’s multi-platform mobile development framework used to create apps for Android and iOS using the Dart programming language. 可以从fluttercrashcourse.com的Nic…

leetcode 781. 森林中的兔子(hashmap)

森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。 返回森林中兔子的最少数量。 示例: 输入: answers [1, 1, 2] 输出: 5 解释: 两只回答了 “1” 的兔…

快速排序简便记_建立和测试股票交易策略的快速简便方法

快速排序简便记Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an author’s works without se…

Java学习第1天:序言,基础及配置tomcat

所谓是福不是祸,是祸躲不过,到底还是回到java的阵地上来。既然它这么热,那就学学它,现在这件事已经提上议事日程,也已经开始。 今天做的事: 泛泛的翻了几本书,敲了一些练习代码,比如…

robot:List变量的使用注意点

创建list类型变量,两种方式,建议使用Create List关键字 使用该列表变量时需要变为${}方式,切记切记! 转载于:https://www.cnblogs.com/gcgc/p/11429482.html

python基础教程(十一)

迭代器 本节进行迭代器的讨论。只讨论一个特殊方法---- __iter__ ,这个方法是迭代器规则的基础。 迭代器规则 迭代的意思是重复做一些事很多次---就像在循环中做的那样。__iter__ 方法返回一个迭代器,所谓迭代器就是具有next方法的对象,在调…

编程需要数学知识吗_编程需要了解数学吗?

编程需要数学知识吗Does programming require knowing math? Not necessarily. 编程需要了解数学吗? 不必要。 When I say that, Im mostly talking about Web Development, not working with graphics or specific applications that require advanced math. 当我…

美剧迷失_迷失(机器)翻译

美剧迷失Machine translation doesn’t generate as much excitement as other emerging areas in NLP these days, in part because consumer-facing services like Google Translate have been around since April 2006.如今,机器翻译并没有像其他NLP新兴领域那样…

mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)...

从服务器上迁移数据库到本地localhost 执行 函数 时报错, mysql 1449 : The user specified as a definer (usertest%) does not exist 经查,是权限问题(其中usertest是服务器上数据库的登录名),解决办法: 授权给 u…

初识数据结构与算法

1、什么是数据结构? a、数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。 b、数据结构是计算机存储、组织数据的方式,数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常…

产品经理思考

1.分析QQ与微信的区别,包含其中存在的问题,并给出解决方案。 2.如果你设计一款基于音乐的高品质内容的社交软件,给说出这么设计的原因。 3.请说出一款APP的的看法,指出其中不合理的地方,并说明原因(APP如果…

shopify 开发_播客第57集:从Shopify的作家到开发人员,与Adam Hollett一起

shopify 开发On this weeks episode of the freeCodeCamp podcast, Quincy interviews Adam Hollett. Hes a software developer at Shopify in Ottawa, Canada.在本周的freeCodeCamp播客节目中,Quincy采访了Adam Hollett。 他是加拿大渥太华Shopify的软件开发人员。…