#serial-communication #secure-communication #serial #bill-acceptor #bill-validator

no-std ssp

Messages and related types for implementing the SSP/eSSP serial communication protocol

14 releases (4 breaking)

0.5.4 Jan 22, 2024
0.5.3 Oct 12, 2023
0.5.2 Aug 24, 2023
0.4.2 Aug 9, 2023
0.1.1 Jun 12, 2023

#119 in No standard library

Download history 18/week @ 2024-08-18 15/week @ 2024-08-25 3/week @ 2024-09-01 81/week @ 2024-09-22 2/week @ 2024-09-29 4/week @ 2024-11-03 210/week @ 2024-12-01

210 downloads per month
Used in ssp-server

MIT license

4MB
13K SLoC

SSP

This is an implementation of the messages needed for the Smiley Secure Protocol (SSP), and its encrypted variant Encrypted Smiley Secure Protocol (eSSP).

A base set of messages are implemented, and additions are always welcome through pull requests :)

Usage

By default, ssp is a no-std compatible library. To use in your project:

# Cargo.toml
ssp = "0.3"

If you would like to use std-only features:

# Cargo.toml
ssp = { version = "0.3", features = ["std"] }

CAUTION

While this library has undergone testing against real hardware, it is still in early development.

Please use caution, and report issues if you encounter a problem.


lib.rs:

This library is an implementation of the Smiley Secure Protocol.

From the SSP Implementation Guide:

Smiley Secure Protocol (SSP) is a serial communication protocol designed by Innovative
Technology LTD to address problems historically experienced by cash handling systems in
gaming machines. Problems such as acceptor swapping, reprogramming acceptors and
line tapping.

The current implementation supports both the standard (SSP), and encrypted variant (eSSP).

Dependencies

~3.5–9.5MB
~103K SLoC