Skip to content

Instantly share code, notes, and snippets.

@zbroyar
zbroyar / pkcs1v1pad.ml
Created March 8, 2011 21:02
PKCS#1 ver 1 padding
let pkcs1v1pad key msg =
let blen = key.RSA.size/8
and mlen = String.length msg in
let padlen = blen - mlen in
if padlen > 3 then begin
let res = String.make padlen (char_of_int 255) in
res.[0] <- (char_of_int 0);
res.[1] <- (char_of_int 1);
res.[padlen - 1] <- (char_of_int 0);
res ^ msg
@zbroyar
zbroyar / gist:756823
Created December 28, 2010 02:33
Converter of PEM RSA private key to OCaml Cryptokit
#!/usr/bin/env ocaml
(*
Prerequisites: Findlib, Pcre, Cryptokit
Usage: openssl rsa -in privkey.pem -text | ./pem2ck.ml > privkey.cryptokit
*)
#use "topfind" ;;
#require "pcre" ;;
#require "cryptokit" ;;
@zbroyar
zbroyar / monad.ml
Created November 9, 2010 16:00
Монада невдалого обчислення.
(* Повертає монаду *)
let return x = Some x ;;
(* Перевіряє монаду на наявність значення та повертає результат
застосування функції до цього значення, інакше повертає *)
let (>>=) m f =
match m with
| None -> None
| Some x -> f x ;;