SlideShare a Scribd company logo
José Manuel Ortega Candel
Web Cryptography with JavaScript
The talk would aim to introduce the cryptography from the developer point of view, showing
ways to encrypt information with JavaScript in both client and server side for web applications.
The talking points could be:
 Introduction to security in web applications (authentication, authorization,
confidentiality, integrity)
 Browser storage
 Information encryption and decryption with JavaScript
 Web Cryptography API and browsers support
 Libraries let you use encryption algorithms like SHA,AES,RSA(CryptoJS, SJCL)
 Cipher information in server side with NodeJS
 Tools and plugins for browsers that allow checking the main algorithms used to encrypt
information
 JavaScript Obfuscation
 Practical application that uses any of encryption libraries discussed
Keywords: Security, Encryption, Libraries, Tools ,Obfuscation, JavaScript
Introduction to security in web applications (authentication, authorization, confidentiality,
integrity)
Cryptography
The discipline that embodies principles, means, and methods for providing information
security, including confidentiality, data integrity, nonrepudiation, and authenticity.
Browser storage
The actual state is the lack of cryptographic functions that are supported in all browsers.
The actual tendency is to use the browser localStorage and a possible attacker could use this
information to extract the contents to be keeping
With HTTPS the communication is encrypted, but suffered one MITM attack and with the right
tools like sniffers it can get to see the data.
Further, there are techniques like SSLStrip that allows to convert HTTPS traffic to HTTP
through a MITM attack.
For these reasons, it would be advisable to add another security layer with a crypto library in
JavaScript.
Comparing local storage clear text with local storage encrypted
In clear text version we can see key and value in clear in browser console
In encrypted version we can see that notes value are not in clear text.
More over, we have other keys like iv and salt variables.
Information encryption and decryption with JavaScript
Introduce to algorithms
 MD5, SHA-1,SHA-256,SHA-512 (hash functions).Allow check files integrity and
document signing
 AES [Private key cryptography][Used in WPA2]
 RSA-4096 [Public key cryptography]
 RC4[Used in SSL]
AES
The AES algorithm is a symmetric block cipher that can encrypt (encipher) and decrypt
(decipher) information.
The main features AES algorithm are:
 Shared secret key algorithm
 Symmetrical
 Same key to encrypt and decrypt
 128 192 256 bit key sizes
Any message encrypted with a public key can be decrypted with a private key and vice versa,
but an encrypted message cannot be decrypted by the same key that encrypted it as in symmetric
key encryption.
In asymmetric key cryptography, each party has two keys, a public key and a private keys
The public key is shared to the world, and the private key is kept private
The keys are generated in such a way that any message encrypted by the public key in the pair
can only be decrypted by the private key, and viceversa
It can be identified the following elements:
message = the unencrypted, readable data we care about.
cipherText = the message after encryption, the data the adversary gets to see.
Key = the secret required to encrypt and decrypt the message
Encryption: ciphertext = f(key, message)
Decryption: cleartext = f(key, cipherText)
AES algorithm JavaScript implementation
Initialization Vector (IV)
A vector used in defining the starting point of an encryption process within a
cryptographic algorithm.
RSA
The main features RSA algorithm are:
 Algorithm public / private key
 Asymmetric
 It is encrypted with the public key and decrypted with the key private
Asymmetric key cryptography works in a similar manner to symmetric key cryptography except
that the keys are generated in a special manner that allows them to decrypt only messages
encrypted by the other key in the pair
While there are many ways to do this, the most common algorithm is known as the RSA
keygen algorithm
Public key: (n, e); To encrypt: C ≡ Me (mod n)
Private key (n, d); To decrypt: M ≡ Ce (mod n)
Pub-Key Encryption (PKE)
Encrypt message(M) using public-key(pk)
Decrypt Cipher text(C) using secret-key(sk)
E(pk, M) → C
D(sk, C) → M
RSA algorithm JavaScript implementation
Web Cryptography API and browsers support
This specification describes an API for cryptographic operations like:
 Hash functions
 Public and private key algorithms
 Signature generation and data verification
 Encryption and decryption
In browser support, only Chrome, FireFox and Opera offer total support for Web Crypo
API.
In this table we can see browser support for different algorithms that offers web crypto API
Methods and algorithms supported by Web Crypto API
WebCrypto API RSA Public/Private Key
WebCrypto API Sign/Verify
WebCrypto API Encrypt/Decrypt
Libraries let you use encryption algorithms like SHA,AES,RSA(CryptoJS, SJCL)
Stanford Javascript Crypto Library(SJCL)
 It supports AES,SHA-256,HMAC,PBKDF2 algorithms
Crypto-JS
Cipher information in server side with NodeJS
 require('crypto')
 OPENSSL is required install in server
o Methods of crypto object
Testing crypto object
Tools
Mymail-Crypt for Gmail
Plugin for Chrome that allow generate our private key for encrypt messages
JavaScript Cryptography tools
Web cryptography javascript
DuckDugGo Cryptography hacks
 Identifying Hash Algorithm and Finding Plain text from Hashes
NoScript plugin for Firefox that allows protection for Cross Site Scripting(XSS)
JavaScript obfuscation
 Benefits of obfuscating JavaScript
o Protect source code
o Prevent code theft and reuse
o Protect intellectual property
o Add an extra security layer
 Online tools for code obfuscation
o https://jscrambler.com/es
o http://www.minifyjs.com/javascript-obfuscator
o http://www.javascriptobfuscator.com/Javascript-Obfuscator.aspx
Practical application that uses any of encryption libraries discussed
 Analysis of security telegram web application
 AES, SHA-1 implementation
https://code.google.com/p/crypto-js
 RSA implementation
http://www-cs-students.stanford.edu/~tjw/jsbn
We can see the implementation of aesEncrypt and aesDecrypt methods. These
methods are using the CryptoJS library
The main problem with this protocol encryption is the use of SHA-1 algorithm for
generating the message key, since SHA-1 is an algorithm cryptographically broken.
The security of this protocol is that the key is generated from the contents of the user
message.
Web cryptography javascript
References
https://www.owasp.org/index.php/Guide_to_Cryptography
http://www.w3.org/TR/WebCryptoAPI
http://www.movable-type.co.uk/scripts/aes.html
https://diafygi.github.io/webcrypto-examples
http://crypto.stanford.edu/sjcl
http://nodejs.org/api/crypto.html
http://aesencryption.net
https://telegram.org/apps#source-code

More Related Content

What's hot (20)

PPTX
Cryptography - Simplified - Hash Functions
Abdul Manaf Vellakodath
 
PPTX
Encryption
Jernej Virag
 
PDF
Searchable Encryption Systems
Christopher Frenz
 
PPTX
Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
Svetlin Nakov
 
PPTX
Breaking out of crypto authentication
Mohammed Adam
 
PPTX
Encryption
Jasleen Khalsa
 
ODP
Https presentation
patel jatin
 
PDF
Sw prezen3pdf
s1190088
 
PPTX
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
RootedCON
 
PPTX
SSL Primer
Mahadev Gaonkar
 
PDF
AREA41 - Anatomy of attacks aimed at financial sector by the Lazarus group
SeongsuPark8
 
PDF
Sw2 prezen3pdf
s1190088
 
PPT
Lecture17
Châu Thanh Chương
 
DOC
RSA alogrithm
Senthil Kanth
 
PDF
Cryptography in PHP: use cases
Enrico Zimuel
 
PDF
I psec
Mohamed Gamel
 
PPTX
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
Svetlin Nakov
 
PPTX
HTTPS
R.K. University
 
PDF
OpenOffice.org Digital Signatures, OOoCon 2004
Malte Timmermann
 
Cryptography - Simplified - Hash Functions
Abdul Manaf Vellakodath
 
Encryption
Jernej Virag
 
Searchable Encryption Systems
Christopher Frenz
 
Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
Svetlin Nakov
 
Breaking out of crypto authentication
Mohammed Adam
 
Encryption
Jasleen Khalsa
 
Https presentation
patel jatin
 
Sw prezen3pdf
s1190088
 
Toni de la Fuente - Automate or die! How to survive to an attack in the Cloud...
RootedCON
 
SSL Primer
Mahadev Gaonkar
 
AREA41 - Anatomy of attacks aimed at financial sector by the Lazarus group
SeongsuPark8
 
Sw2 prezen3pdf
s1190088
 
RSA alogrithm
Senthil Kanth
 
Cryptography in PHP: use cases
Enrico Zimuel
 
Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)
Svetlin Nakov
 
OpenOffice.org Digital Signatures, OOoCon 2004
Malte Timmermann
 

Similar to Web cryptography javascript (20)

PDF
Java script and web cryptography (cf.objective)
ColdFusionConference
 
PDF
Securing TodoMVC Using the Web Cryptography API
Kevin Hakanson
 
PPTX
Cryptography
Shray Jali
 
PDF
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Krzysztof Kotowicz
 
PPTX
Cryptography is the art and science of securing communication and data by con...
kalojo7178
 
PDF
Introduction to Cryptography
Seema Goel
 
DOCX
APPLICATION LAYER Networking refers to the practice of connecting computers, ...
AyushSingh484158
 
PPTX
Cryptography and network security
patisa
 
PPT
Java Crypto
phanleson
 
PDF
Secure 3 kany-vanda
Vanda KANY
 
PDF
Cryptography In The Browser Using JavaScript
barysteyn
 
PPTX
Cryptography and network security
Nagendra Um
 
ODP
Applying Security Algorithms Using openSSL crypto library
Priyank Kapadia
 
PPTX
501 ch 10 cryptography
Toyeeb Onimole
 
PDF
Developer's Guide to JavaScript and Web Cryptography
Kevin Hakanson
 
PPTX
Cryptographic Chronicles: Unveiling Definitions, Algorithms, Attacks, and App...
zachdwg
 
PPTX
CISSP - Chapter 3 - Cryptography
Karthikeyan Dhayalan
 
PPTX
Introduction to Cryptography.pptx
ssuser62852e
 
PPT
Cryptography
PPT4U
 
PPT
Security via Java
Bahaa Zaid
 
Java script and web cryptography (cf.objective)
ColdFusionConference
 
Securing TodoMVC Using the Web Cryptography API
Kevin Hakanson
 
Cryptography
Shray Jali
 
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Krzysztof Kotowicz
 
Cryptography is the art and science of securing communication and data by con...
kalojo7178
 
Introduction to Cryptography
Seema Goel
 
APPLICATION LAYER Networking refers to the practice of connecting computers, ...
AyushSingh484158
 
Cryptography and network security
patisa
 
Java Crypto
phanleson
 
Secure 3 kany-vanda
Vanda KANY
 
Cryptography In The Browser Using JavaScript
barysteyn
 
Cryptography and network security
Nagendra Um
 
Applying Security Algorithms Using openSSL crypto library
Priyank Kapadia
 
501 ch 10 cryptography
Toyeeb Onimole
 
Developer's Guide to JavaScript and Web Cryptography
Kevin Hakanson
 
Cryptographic Chronicles: Unveiling Definitions, Algorithms, Attacks, and App...
zachdwg
 
CISSP - Chapter 3 - Cryptography
Karthikeyan Dhayalan
 
Introduction to Cryptography.pptx
ssuser62852e
 
Cryptography
PPT4U
 
Security via Java
Bahaa Zaid
 
Ad

More from Jose Manuel Ortega Candel (20)

PDF
Seguridad y auditorías en Modelos grandes del lenguaje (LLM).pdf
Jose Manuel Ortega Candel
 
PDF
Beyond the hype: The reality of AI security.pdf
Jose Manuel Ortega Candel
 
PDF
Seguridad de APIs en Drupal_ herramientas, mejores prácticas y estrategias pa...
Jose Manuel Ortega Candel
 
PDF
Security and auditing tools in Large Language Models (LLM).pdf
Jose Manuel Ortega Candel
 
PDF
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Jose Manuel Ortega Candel
 
PDF
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Jose Manuel Ortega Candel
 
PDF
PyGoat Analizando la seguridad en aplicaciones Django.pdf
Jose Manuel Ortega Candel
 
PDF
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Jose Manuel Ortega Candel
 
PDF
Evolution of security strategies in K8s environments- All day devops
Jose Manuel Ortega Candel
 
PDF
Evolution of security strategies in K8s environments.pdf
Jose Manuel Ortega Candel
 
PDF
Implementing Observability for Kubernetes.pdf
Jose Manuel Ortega Candel
 
PDF
Computación distribuida usando Python
Jose Manuel Ortega Candel
 
PDF
Seguridad en arquitecturas serverless y entornos cloud
Jose Manuel Ortega Candel
 
PDF
Construyendo arquitecturas zero trust sobre entornos cloud
Jose Manuel Ortega Candel
 
PDF
Tips and tricks for data science projects with Python
Jose Manuel Ortega Candel
 
PDF
Sharing secret keys in Docker containers and K8s
Jose Manuel Ortega Candel
 
PDF
Implementing cert-manager in K8s
Jose Manuel Ortega Candel
 
PDF
Python para equipos de ciberseguridad(pycones)
Jose Manuel Ortega Candel
 
PDF
Python para equipos de ciberseguridad
Jose Manuel Ortega Candel
 
PDF
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Jose Manuel Ortega Candel
 
Seguridad y auditorías en Modelos grandes del lenguaje (LLM).pdf
Jose Manuel Ortega Candel
 
Beyond the hype: The reality of AI security.pdf
Jose Manuel Ortega Candel
 
Seguridad de APIs en Drupal_ herramientas, mejores prácticas y estrategias pa...
Jose Manuel Ortega Candel
 
Security and auditing tools in Large Language Models (LLM).pdf
Jose Manuel Ortega Candel
 
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Jose Manuel Ortega Candel
 
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Jose Manuel Ortega Candel
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
Jose Manuel Ortega Candel
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments- All day devops
Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments.pdf
Jose Manuel Ortega Candel
 
Implementing Observability for Kubernetes.pdf
Jose Manuel Ortega Candel
 
Computación distribuida usando Python
Jose Manuel Ortega Candel
 
Seguridad en arquitecturas serverless y entornos cloud
Jose Manuel Ortega Candel
 
Construyendo arquitecturas zero trust sobre entornos cloud
Jose Manuel Ortega Candel
 
Tips and tricks for data science projects with Python
Jose Manuel Ortega Candel
 
Sharing secret keys in Docker containers and K8s
Jose Manuel Ortega Candel
 
Implementing cert-manager in K8s
Jose Manuel Ortega Candel
 
Python para equipos de ciberseguridad(pycones)
Jose Manuel Ortega Candel
 
Python para equipos de ciberseguridad
Jose Manuel Ortega Candel
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Jose Manuel Ortega Candel
 
Ad

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 

Web cryptography javascript

  • 1. José Manuel Ortega Candel Web Cryptography with JavaScript The talk would aim to introduce the cryptography from the developer point of view, showing ways to encrypt information with JavaScript in both client and server side for web applications. The talking points could be:  Introduction to security in web applications (authentication, authorization, confidentiality, integrity)  Browser storage  Information encryption and decryption with JavaScript  Web Cryptography API and browsers support  Libraries let you use encryption algorithms like SHA,AES,RSA(CryptoJS, SJCL)  Cipher information in server side with NodeJS  Tools and plugins for browsers that allow checking the main algorithms used to encrypt information  JavaScript Obfuscation  Practical application that uses any of encryption libraries discussed Keywords: Security, Encryption, Libraries, Tools ,Obfuscation, JavaScript
  • 2. Introduction to security in web applications (authentication, authorization, confidentiality, integrity) Cryptography The discipline that embodies principles, means, and methods for providing information security, including confidentiality, data integrity, nonrepudiation, and authenticity. Browser storage The actual state is the lack of cryptographic functions that are supported in all browsers. The actual tendency is to use the browser localStorage and a possible attacker could use this information to extract the contents to be keeping With HTTPS the communication is encrypted, but suffered one MITM attack and with the right tools like sniffers it can get to see the data. Further, there are techniques like SSLStrip that allows to convert HTTPS traffic to HTTP through a MITM attack. For these reasons, it would be advisable to add another security layer with a crypto library in JavaScript.
  • 3. Comparing local storage clear text with local storage encrypted In clear text version we can see key and value in clear in browser console In encrypted version we can see that notes value are not in clear text. More over, we have other keys like iv and salt variables.
  • 4. Information encryption and decryption with JavaScript Introduce to algorithms  MD5, SHA-1,SHA-256,SHA-512 (hash functions).Allow check files integrity and document signing  AES [Private key cryptography][Used in WPA2]  RSA-4096 [Public key cryptography]  RC4[Used in SSL] AES The AES algorithm is a symmetric block cipher that can encrypt (encipher) and decrypt (decipher) information. The main features AES algorithm are:  Shared secret key algorithm  Symmetrical  Same key to encrypt and decrypt  128 192 256 bit key sizes Any message encrypted with a public key can be decrypted with a private key and vice versa, but an encrypted message cannot be decrypted by the same key that encrypted it as in symmetric key encryption. In asymmetric key cryptography, each party has two keys, a public key and a private keys The public key is shared to the world, and the private key is kept private The keys are generated in such a way that any message encrypted by the public key in the pair can only be decrypted by the private key, and viceversa It can be identified the following elements: message = the unencrypted, readable data we care about. cipherText = the message after encryption, the data the adversary gets to see. Key = the secret required to encrypt and decrypt the message Encryption: ciphertext = f(key, message) Decryption: cleartext = f(key, cipherText)
  • 5. AES algorithm JavaScript implementation Initialization Vector (IV) A vector used in defining the starting point of an encryption process within a cryptographic algorithm.
  • 6. RSA The main features RSA algorithm are:  Algorithm public / private key  Asymmetric  It is encrypted with the public key and decrypted with the key private Asymmetric key cryptography works in a similar manner to symmetric key cryptography except that the keys are generated in a special manner that allows them to decrypt only messages encrypted by the other key in the pair While there are many ways to do this, the most common algorithm is known as the RSA keygen algorithm Public key: (n, e); To encrypt: C ≡ Me (mod n) Private key (n, d); To decrypt: M ≡ Ce (mod n) Pub-Key Encryption (PKE) Encrypt message(M) using public-key(pk) Decrypt Cipher text(C) using secret-key(sk) E(pk, M) → C D(sk, C) → M
  • 7. RSA algorithm JavaScript implementation
  • 8. Web Cryptography API and browsers support This specification describes an API for cryptographic operations like:  Hash functions  Public and private key algorithms  Signature generation and data verification  Encryption and decryption In browser support, only Chrome, FireFox and Opera offer total support for Web Crypo API. In this table we can see browser support for different algorithms that offers web crypto API
  • 9. Methods and algorithms supported by Web Crypto API
  • 10. WebCrypto API RSA Public/Private Key
  • 13. Libraries let you use encryption algorithms like SHA,AES,RSA(CryptoJS, SJCL) Stanford Javascript Crypto Library(SJCL)  It supports AES,SHA-256,HMAC,PBKDF2 algorithms
  • 15. Cipher information in server side with NodeJS  require('crypto')  OPENSSL is required install in server o Methods of crypto object Testing crypto object
  • 16. Tools Mymail-Crypt for Gmail Plugin for Chrome that allow generate our private key for encrypt messages
  • 19. DuckDugGo Cryptography hacks  Identifying Hash Algorithm and Finding Plain text from Hashes
  • 20. NoScript plugin for Firefox that allows protection for Cross Site Scripting(XSS)
  • 21. JavaScript obfuscation  Benefits of obfuscating JavaScript o Protect source code o Prevent code theft and reuse o Protect intellectual property o Add an extra security layer  Online tools for code obfuscation o https://jscrambler.com/es o http://www.minifyjs.com/javascript-obfuscator o http://www.javascriptobfuscator.com/Javascript-Obfuscator.aspx
  • 22. Practical application that uses any of encryption libraries discussed  Analysis of security telegram web application  AES, SHA-1 implementation https://code.google.com/p/crypto-js  RSA implementation http://www-cs-students.stanford.edu/~tjw/jsbn
  • 23. We can see the implementation of aesEncrypt and aesDecrypt methods. These methods are using the CryptoJS library
  • 24. The main problem with this protocol encryption is the use of SHA-1 algorithm for generating the message key, since SHA-1 is an algorithm cryptographically broken. The security of this protocol is that the key is generated from the contents of the user message.