sender side:
- creation of a
message-specific, single-use session key,
- encryption of the session
key with an asymmetric algorithm using the recipient's public
key, the recipient can decrypt the session key with his
private key and the sender and recipient therefore have a
common session key,
- use of a symmetric
algorithm to encrypt the message using the session key,
- the message is encrypted
ready to be sent.
on the recipient side, we will have:
- call the same
asymmetric algorithm to decrypt the session key with its
private key,
- call the same symmetric
algorithm to decrypt the message with the session key.
A small weakness of the method, if a third party (let's call him C) pretends to be B and sends his public key to A, A will be able to send him encrypted messages without him realizing the identity theft. This is an attack called man in the middle, like the attack. In fact, the public key is not linked to the identity of its owner, but there is a way to remedy this.
We will therefore associate a fingerprint with the message, this unique fingerprint is generated from the content of the message and only from it (in plain language it does not depend on keys or other parameters). The fingerprint generation is done from so-called hash functions, they are non-reversible (one-way), that is to say that the fingerprint does not allow the message to be reconstructed, on the other hand it identifies it perfectly. If a single character evolves in my text, the fingerprint would be totally different, for this property we say that the function is "collision-free". On the other hand, even if the probability is extremely low, potentially two messages can have the same fingerprint (we speak of collisions). For a given text, anyone can generate a fingerprint, it will necessarily be identical if we use the same hash function.
In the end:
- A generates a
fingerprint of his message,
- A encrypts the fingerprint
with his private key and sends it to B, this allows the
fingerprint to be authenticated because he is the only one who
can encrypt it with his private key,
- B decrypts the fingerprint
of the message with A's public key,
- B recalculates the
fingerprint from the decrypted message,
- B compares the 2
fingerprints, if they are identical, the message is intact (it
has not been modified) and has been sent by A (sender
authentication).
In the Anglo-Saxon world we will speak of digest for imprint.
This is a bit cumbersome, because now in addition to encrypting the message, its fingerprint must be encrypted, just as the sender must decrypt the message and the fingerprint and make fingerprint comparisons. Fortunately, there is still a method to lighten all this which is used in particular for encrypted connections with OpenSSL/TLS.
In fact, it is the session key that will be used to authenticate the sender automatically, which gives this:
sender side:
- creating a
message-specific, one-time-use session key,
- generating a fingerprint
from the session key,
- encrypting the session key
with an asymmetric algorithm using the recipient's public key,
- encrypting the fingerprint
with the private key,
- using a symmetric
algorithm to encrypt the message using the session key,
- the message and the
fingerprint of the session key are encrypted, ready to be
sent,
on the recipient side, we will have:
- call the same
asymmetric algorithm to decrypt the session key with its
private key,
- call the same symmetric
algorithm to decrypt the message with the session key,
- generation of the session
key fingerprint,
- decryption of the
fingerprint from the sender's public key,
- comparison of the 2
fingerprints, if they are identical, the message is intact and
the sender is clearly identified
The session key has a lifetime limited to the session, it can even be changed during the dialogue. Indeed, if the dialogue is intercepted by a third party, after a certain calculation time it could be able to decrypt the session key and therefore the exchange. So the idea is that the lifetime of the session key is always less than the time it would take to decrypt it
For a long time, the use of encryption tools was very restricted by French law, to the point that cryptology software could be considered weapons of war! The law for confidence in the digital economy of June 21, 2004 completely freed the use of these tools, well, with a few nuances. The use, import and export of a means of cryptology to sign, authenticate and control integrity is completely free and there is no procedure to follow. On the other hand, there are still restrictions on the tools used to encrypt data, they can be used freely but it is always necessary to make a declaration or request authorization for their import/export to/outside the European Union. Legally, downloading cryptography software from a site outside the European Union is considered an import... but we shouldn't be picking on you knowing that the Central Directorate for Information Systems Security (DCSSI), a state body which has since been replaced by the National Agency for Information Systems Security (ANSSI) has officially authorized the use of GnuPG and OpenSSL .
ANSSI is the organization in France reporting directly to the Prime Minister which is in charge of the security of information systems of major government departments (but not only) and of all cryptology matters in France (approval, expertise, etc.).
https://fr.wikipedia.org/wiki/Portail:Cryptologie the cryptology portal on Wikipedia
http://www.futura-sciences.com/sciences/dossiers/mathematiques-cryptologie-art-codes-secrets-1817/ the art of secret codes
https://www.ssi.gouv.fr/particulier/actualite/crypto-le-webdoc/ the ANSSI webdoc on cryptology
http://www.ssi.gouv.fr/administration/reglementation/controle-reglementaire-sur-la-cryptographie a summary of the regulations on the ANSSI website
Je suis très émue de vous dire que j'ai
bien compris l'autre soir que vous aviez
toujours une envie folle de me faire
danser. Je garde le souvenir de votre
baiser et je voudrais bien que ce soit là
une preuve que je puisse être aimée par
vous. Je suis prête à vous montrer mon
affection toute désintéressée et sans
calcul, et si vous voulez me voir aussi
vous dévoiler sans artifice mon âme toute
nue, venez me faire une visite. Nous
causerons en amis, franchement. Je vous
prouverai que je suis la femme sincère,
capable de vous offrir l'affection la plus
profonde comme la plus étroite en amitié,
en un mot la meilleure preuve dont vous
puissiez rêver, puisque votre âme est
libre. Pensez que la solitude où j'habite
est bien longue, bien dure et souvent
difficile. Ainsi, en y songeant, j'ai l'âme
grosse. Accourez donc vite et venez me la
faire oublier par l'amour où je veux me
mettre.
So? Come on, it's not
difficult, start reading the first line then skip a line to
read the next one and so on ;-)
In French
Je suis très émue de vous dire que j'ai
toujours une envie folle de me faire
baiser et je voudrais bien que ce soit là
vous. Je suis prête à vous montrer mon
calcul, et si vous voulez me voir aussi
nue, venez me faire une visite. Nous
prouverai que je suis la femme sincère,
profonde comme la plus étroite en amitié,
puissiez rêver, puisque votre âme est
est bien longue, bien dure et souvent
grosse. Accourez donc vite et venez me la
mettre.
In English
I am very
moved to tell you that I
still have a mad desire to be
fucked and I would like it to be you. I am ready to
show you my
calculation, and if you want to see me also
naked, come and visit me. We
will prove that I am the sincere woman,
deep as the closest in friendship,
can dream, since your soul is
is very long, very hard and often
big. So run quickly
and come and put it on me.
[ Back to FUNIX home page ] | [ Back to top of page ] |