Project

hsmr

0.0
No release in over 3 years
Low commit activity in last 3 years
A collection of methods usually implemented in a HSM (Hardware Security Module)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

HSMR Build Status

HSMR is a collection of cryptographic commands usually implemented on a HSM (Hardware Security Module). These are implemented for your education or for testing purposes and should not be used to replace an actual HSM.

Installation

gem install hsmr

Usage

require 'hsmr'

# Create a Key
> key=HSMR::Key.new("4CA2161637D0133E5E151AEA45DA2A12")
=> 4CA2 1616 37D0 133E 5E15 1AEA 45DA 2A12 
> key.key
=> "L\xA2\x16\x167\xD0\x13>^\x15\x1A\xEAE\xDA*\x12" 
> key.to_s
=> "4CA2 1616 37D0 133E 5E15 1AEA 45DA 2A12" 
> key.kcv
=> "7B0898" 
> key.parity
=> "odd" 

# Generate a PVV

pan="5999997890123412"
pin="1234"
pvki="1"
pvv = HSMR.pvv(key, pan, pvki, pin)
=> "0798"

Features

  • Key / Componet features
    • Create Keys and Components
    • XOR Keys and Components together
    • Find Key Check Values (kcv)
    • Determine and change key parity
  • Encrypt / Decrypt PIN Blocks
  • Generate IBM3624 PINs
  • Generate PVV, CVV & CVV2 values

Development

  • Source hosted on GitHub.
  • Report issues on GitHub Issues.
  • Pull requests are awesome! Please include test::unit tests

License

The gem is available as open source under the terms of the MIT License.