Last Version

Virgil Double Ratchet Java/Kotlin SDK 0.1.4

Virgil Security is presenting an implementation of the [Double Ratchet](https://signal.org/docs/specifications/doubleratchet/) algorithm, which is used by parties to exchange encrypted messages based on a shared secret key. The implementation includes: - **Virgil Perfect Forward Secrecy (PFS) service** – a standalone web-service that is dedicated to managing one-time keys and long-time keys that are based on their Identity Public Keys (public keys that are contained in user cards published on Virgil Cards service); - **Ratchet SDK** – interacts with PFS service for publishing and managing one-time keys and long-time keys and interacts with Virgil Cards service for retrieving user's indentity cards which the OTK and LTK are based on. The parties derive new keys for every Double Ratchet message so that previous private keys cannot be calculated from new ones. The parties that participate in the communication also send Diffie-Hellman public values attached to their messages. The results of Diffie-Hellman calculations are mixed into the derived keys so that the new private keys cannot be calculated from the previous ones.

License

License

Virgil Security, Inc. license
Categories

Categories

Security
GroupId

GroupId

com.virgilsecurity
ArtifactId

ArtifactId

ratchet
Version

Version

0.1.4
Type

Type

jar
Description

Description

Virgil Double Ratchet Java/Kotlin SDK
Virgil Security is presenting an implementation of the [Double Ratchet](https://signal.org/docs/specifications/doubleratchet/) algorithm, which is used by parties to exchange encrypted messages based on a shared secret key. The implementation includes: - **Virgil Perfect Forward Secrecy (PFS) service** – a standalone web-service that is dedicated to managing one-time keys and long-time keys that are based on their Identity Public Keys (public keys that are contained in user cards published on Virgil Cards service); - **Ratchet SDK** – interacts with PFS service for publishing and managing one-time keys and long-time keys and interacts with Virgil Cards service for retrieving user's indentity cards which the OTK and LTK are based on. The parties derive new keys for every Double Ratchet message so that previous private keys cannot be calculated from new ones. The parties that participate in the communication also send Diffie-Hellman public values attached to their messages. The results of Diffie-Hellman calculations are mixed into the derived keys so that the new private keys cannot be calculated from the previous ones.
Project URL

Project URL

https://www.virgilsecurity.com/
Source Code Management

Source Code Management

https://github.com/VirgilSecurity/virgil-ratchet-kotlin

Download ratchet 0.1.4


<!-- https://jarcasting.com/artifacts/com.virgilsecurity/ratchet/ -->
<dependency>
    <groupId>com.virgilsecurity</groupId>
    <artifactId>ratchet</artifactId>
    <version>0.1.4</version>
</dependency>
// https://jarcasting.com/artifacts/com.virgilsecurity/ratchet/
implementation 'com.virgilsecurity:ratchet:0.1.4'
// https://jarcasting.com/artifacts/com.virgilsecurity/ratchet/
implementation ("com.virgilsecurity:ratchet:0.1.4")
'com.virgilsecurity:ratchet:jar:0.1.4'
<dependency org="com.virgilsecurity" name="ratchet" rev="0.1.4">
  <artifact name="ratchet" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.virgilsecurity', module='ratchet', version='0.1.4')
)
libraryDependencies += "com.virgilsecurity" % "ratchet" % "0.1.4"
[com.virgilsecurity/ratchet "0.1.4"]

Dependencies

compile (3)

Group / Artifact Type Version
com.virgilsecurity.sdk : crypto jar 7.3.1
com.virgilsecurity.sdk : sdk jar 7.3.1
com.virgilsecurity.crypto : ratchet jar 0.15.2

runtime (4)

Group / Artifact Type Version
com.google.code.gson : gson jar 2.8.5
com.github.kittinunf.fuel : fuel jar 1.15.1
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.61
org.jetbrains.kotlinx : kotlinx-coroutines-core jar 1.3.2

Project Modules

There are no modules declared in this project.