<?php

// openssl dh -in <(openssl gendh 36) -noout -C | sed '2!d;s/0x//g;s/,//g'
// add more bits for more privacy, use letters in the display id for
// compactness (avoid homoglyphs, e.g. l & i, and if you're doing phone stuff,
// consider avoiding close homophones, e.g. b, v, & p)
$safe_prime = gmp_init("0x8C3586263");
$generator = gmp_init("2");
// openssl rand -hex 5
$seed = gmp_init("0x8d387ccc7f");
$pad_len = strlen(gmp_strval($safe_prime));

for ($row_id = 1; $row_id <= 256; $row_id++)
{
	$id = gmp_powm($generator, gmp_add($seed, gmp_init($row_id)), $safe_prime);
	$display_id = str_pad(gmp_strval($id), $pad_len, "0", STR_PAD_LEFT);
	
	echo $display_id."\n";
}
