You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tidy up the following notes and put them in the README.md.
A crypto service implements IKickassCrypto. There are four types of crypto service provided by this library, and implementers can define their own.
The crypto framework is a base class KickassCrypto which implements the IKickassCrypto interface; some parts of KickassCrypto are abstract and must be provided by implementations.
A use case suggests approaches to the number and types of secret keys that are used, implementers can add use cases; the two default use cases are:
round-trip
at-rest
A service locator finds a service for a particular use case, the library includes two service locators, one for each use case; the two default service locators are:
kickass_round_trip()
kickass_at_rest()
A module provides a crypto service for each use case, so by default that's two services per module, one for each use case.
This library provides two modules, Sodium and OpenSSL; as each module provides two services the full list of complete services supported by this library is:
KickassSodiumRoundTrip
KickassSodiumAtRest
KickassOpenSslRoundTrip
KickassOpenSslAtRest
Services for use cases within modules are designed to be independent because they use different secret keys; however if the services within a module did share secret keys then they should be mutually compatible. That is, if you configured the round-trip and at-rest secret keys to be the same, then any service in a module could be used to encrypt or decrypt any given plaintext or ciphertext. So the only thing that keeps services within a module independent should be the secret keys, otherwise services within a module should be mutually compatible.
The text was updated successfully, but these errors were encountered:
Tidy up the following notes and put them in the
README.md
.A crypto service implements
IKickassCrypto
. There are four types of crypto service provided by this library, and implementers can define their own.The crypto framework is a base class
KickassCrypto
which implements theIKickassCrypto
interface; some parts ofKickassCrypto
are abstract and must be provided by implementations.A use case suggests approaches to the number and types of secret keys that are used, implementers can add use cases; the two default use cases are:
A service locator finds a service for a particular use case, the library includes two service locators, one for each use case; the two default service locators are:
kickass_round_trip()
kickass_at_rest()
A module provides a crypto service for each use case, so by default that's two services per module, one for each use case.
This library provides two modules, Sodium and OpenSSL; as each module provides two services the full list of complete services supported by this library is:
KickassSodiumRoundTrip
KickassSodiumAtRest
KickassOpenSslRoundTrip
KickassOpenSslAtRest
Services for use cases within modules are designed to be independent because they use different secret keys; however if the services within a module did share secret keys then they should be mutually compatible. That is, if you configured the round-trip and at-rest secret keys to be the same, then any service in a module could be used to encrypt or decrypt any given plaintext or ciphertext. So the only thing that keeps services within a module independent should be the secret keys, otherwise services within a module should be mutually compatible.
The text was updated successfully, but these errors were encountered: