Home Page
DI Management Services is a computer programming consultancy based in Australia and run by David Ireland. This is our home page. The Site Map lists things more concisely, and more info on the site is here. To contact us, please send us a message.
What we do
We do three things:
- Cryptography programming
- General computer programming
- Publish various articles on interesting topics in cryptography and mathematics.
What's new
Recommended reading
- Applied Cryptography: Protocols, Algorithms, and Source Code in C by Bruce Schneier. Look Inside
- Python Essential Reference by David Beazley. Look Inside
- The C Programming Language, 2nd Edition by Brian W. Kernighan and Dennis M. Ritchie. Look Inside
Join Amazon Student FREE Two-Day Shipping for College Students
Affiliate disclosure: we get a small commission for purchases made through the above links
- 24 September 2024. Released new version 23.0 of CryptoSys PKI. See new in this version.
- 11 October 2024. Updated pure Python utilities for matrices carried out modulo q.
- 10 October 2024. Released updated version 10.70.35 of FirmaSAT.
- 8 September 2024. Released updated v1.1 of guiDumpASN1 a Windows GUI built around Peter Gutmann's dumpasn1 code to analyze ASN.1 files.
- 1 July 2024. C programming: Updated An all-singing, all-dancing C function to create a temporary file.
- 19 June 2024. Released updated version 10.70.30 of FirmaSAT with support for new version 3.1 of Complemento Carta Porte.
- 25 February 2024. Cryptography: A simple lattice-based encryption scheme. The foundation of ML-KEM/Kyber
- 13 January 2024. Cryptography: Generating ECC keys in OpenSSH format.
- 7 January 2024. Released a new version 6.22.1 of CryptoSys API with support for the Intel(R) Digital Random Number Generator (DRNG), if available on the user's platform. See Changes in this version.
- 5 November 2023. Updated our freeware base64 utility for Windows, a conversion of the Linux base64 utility to encode/decode data and print to standard output.
- 3 November 2023. Added a new pages on the Windows Path Variable and how to Open a command-line console
- 1 November 2023. Released a new version v2.1.0 of Hexdump for Windows, a simplified version of the Linux utility to display file contents in hexadecimal.
- 27 May 2023. Released version 6.21 of CryptoSys API with a Python interface and support for the cipher suite ASCON.
- 18 April 2023. Released a new Python interface to FirmaSAT updated to Python 3.
- 14 April 2023. Added a new Delphi interface to SC14N.
- 17 March 2023. Cryptography: SPHINCS+ A stateless hash-based signature scheme (now SLH-DSA): working through a real example of a SPHINCS+ signature.
- 25 December 2022. Cryptography: Updated Test vectors for SHA-1, SHA-2 and SHA-3.
- 15 November 2022. Released Online XML Digital Signature Verifier to verify XML documents signed using XML-DSIG.
- 28 April 2022. Updated version 1.6.5 of Wclock released.
- 5 April 2022. Released v3.1 of SC14N, a straightforward XML canonicalization utility.
- 20 March 2022. New page Troubleshooting problems on the 'Online XML Digital Signature Verifier' site.
- 17 March 2022. New page How to install ER605 Multi-WAN router with Starlink and NBN Broadband.
- 24 February 2022. Cryptography: Signing an XML document using XMLDSIG (Part 3) with companion page XML-DSIG signing with CryptoSys PKI and SC14N.
- 7 February 2022. Updated utility digestvalue to compute the digest value of a file. Added SHA-224, SHA-384 and SHA-512 digest algorithms.
- 11 October 2021. Updated Setting up a virtual Linux client on Windows host to do C++ programming.
- 25 September 2021. Special 20th Anniversary Issue of CryptoSys API released version 6.20. See changes in v6.20. Yes, it's 20 years this month that v1.0 of CryptoSys API was released, see Looking back 20 years.
- 18 July 2021. Released updated version of xmlsq, our free XML Simple Query utility. xmlsq is a simple lightweight utility to query XML documents using XPath 1.0.
- 1 July 2021. Added dumpasn1.exe a Windows version of Peter Gutmann's dumpasn1 program to analyze binary ASN.1 files.
- 28 June 2021. New page with advice on how to setup a BIN directory to store all your miscellaneous Windows executable files.
- 16 June 2021. Updated version 4.0 of diQRcode our QR code generator. diQRcode now supports PDF files, SVG and GIF images, and base64 output.
- 4 April 2021. Introducing diQRcode our new QR code generator. Generate QR code images directly from your code or from the Windows command line.
- 20 January 2021. Updated
shtmldiff.py for Python 3 -
a Python implementation of a side-by-side html diff program designed to run in Windows.
Includes
wdiff for Windows,
a port of the original GNU
wdiff
utility to Windows. - 30 December 2020. New page Breaking XML Encryption with Python code implementations.
- 7 December 2020. New page Encryption in XML documents using XMLENC with companion page Using CryptoSys PKI to encrypt and decrypt using XMLENC.
- 1 October 2020. Complete rewrite of XML-DSIG and the Chile SII - Revisited 2020.
- 28 December 2019. Released new Python interfaces to CryptoSys PKI Pro and SC14N, both updated from Python 2 to Python 3.
- 14 September 2019. Updated website for FirmaSAT with pages in English and páginas en español.
- 21 January 2019. How to process a PFX file and How to Validate a Certificate Chain.
- 10 January 2019. Number theory: Restored the Dirichlet character table generator.
- 10 January 2019. Linear algebra: Restored the calculator to transform a matrix to reduced row echelon form.
- 10 January 2019. Coding theory: Restored the calculator to transform a generator matrix into standard form.
- 15 August 2018. Updated How to convert VBA/VB6 Unicode strings to UTF-8.
- 4 January 2018. A look at Bloom filters and a Bloom filter calculator to find the optimum parameters.
- 2 July 2017. Updated Windows utility hexdump, a simplified version of the Linux utility to display file contents in hexadecimal.
- 28 June 2017. Cryptography: Canonicalization of an XML document.
- 6 September 2016. Cryptography: How Mozilla signs Add-ons.
- 17 June 2016. New version 2.2 of bdcalc, a calculator for the large natural numbers as used in cryptography calculations.
- 1 April 2016. Elliptic curve cryptography: Reproducing a raw Bitcoin transaction.
- 31 March 2016. New version 2.6 of our free ANSI C BigDigits library to do arithmetic and number theoretical calculations with large integers. Now released under an MPLv2 license.
- 27 January 2016. A complete re-write of our Delphi/FreePascal Interfaces.
- 23 December 2015. C programming: Updated our page Getting rid of that MSVC++ warning C4996: 'may be unsafe/disable deprecation' for VS2013. This shows how to configure MSVC to default to an empty project with settings for real C programmers in a new Win32 Console project.
- 16 October 2015. Added a SHA-256 variant to our Freeware utilities to generate and check SHA-1, SHA-256, MD5 and CRC-32 checksums.
- 18 July 2015. New version 5.1 of CryptoSys API released with support for authenticated encryption with additional data (AEAD) using AES-GCM and AEAD-ChaCha20-Poly1305. See Using the AEAD functions.
- 28 January 2015. Cryptography: Verifying the test vectors for the Poly1305 Authenticator.
- 9 September 2014. Complete update of our page Data Exchange in the German Health Service with CryptoSys PKI.
- 11 June 2014. Reinstated our old tutorials on Microsoft Access Classes.
- 31 May 2014. Made DBXanalyzer available for free.
- 18 December 2013. Established the FirmaSAT On-line Validator page, an unofficial validator for Mexican "Comprobante" documents.
- 25 August 2013. Cryptography: Public key cryptography using discrete logarithms and the multiplicative group modulo p.
- 25 April 2013. Statistics: An on-line calculator for the binomial distribution.
- 22 March 2013. Updated the Converting from lex & yacc to flex & bison page and added Using flex and bison in MSVC++ .
- 15 February 2013. Cryptography: Encrypting credit card numbers using Feistel Finite Set Encryption Mode (FFSEM)
- 15 January 2013. Statistics: An on-line calculator for the chi-square distribution.
- 19 November 2012. Set theory: De Morgan's laws explained in graphical form.
- 1 June 2012. Linear algebra: The theory behind Transforming a matrix to reduced row echelon form.
- 9 May 2012. Cryptography: Signing an XML document using XMLDSIG (Part 2).
- 17 November 2011. Number theory: Updated the Euclidean Algorithm page with code showing how to use the binary GCD algorithm.
- 11-11-11. New version 2.3 of our BigDigits free source code and a new version of our Modular Arithmetic Freeware to do modular arithmetic calculations with large integers.
- 3 November 2011. Number theory: Complete re-write of RSA Theory page and a new mathematics page on Elementary Number Theory.
- August 2011. We have moved from Sydney to south-west Western Australia.
Cryptography programming
We maintain a detailed cryptography software page with useful free cryptographic software code
and various articles on cryptography.
The free code includes the Blowfish algorithm in VB6 and
the MySecret command-line freeware encryption utility.
The articles include
our page on the RSA Algorithm including the
Theory and proof of the RSA algorithm,
and various how-to pages such as
Using Keys in Cryptography,
Using Padding in Encryption,
Encryption with International Character Sets, and
Cross-Platform Encryption.
We also publish cryptography-related articles on Mathematics.
...more details →
CryptoSys Products
We sell two commercial cryptographic products under the CryptoSysTM brand name:
CryptoSys API and
CryptoSys PKI Pro.
CryptoSys API is a library of symmetrical cryptography tools
and CryptoSys PKI Pro provides
public key encryption and digital signatures.
FirmaSAT
is a separate product to create and read digital receipts specifically
for the Tax Administration Service in Mexico (SAT).
There are interfaces for programmers in
VBA/VB6, VB.NET/VB2005/VB20xx, C/C++, C#, Java and Python.
...more details →
Consulting
We can provide consulting services on implementing cryptography in your programs.
In particular, we are happy to provide detailed programming help with implementing
CryptoSys API and the
CryptoSys PKI Toolkit.
...more details →
General computer programming
Just need someone to cut some code? Our founder David Ireland, GSSP-C, has many years experience in programming in a variety of languages, including C, Visual Basic, Microsoft Access, C#, Perl and Python.
For more details of our experience, see Profile and Projects.
We enjoy doing complex algorithms and arcane problems.
If we can't do it, we'll tell you up-front, so as not to waste your time.
We only start jobs we know we can finish.
...more details →
See our page on the C Programming Language where we've assembled links and copies of interesting or educational articles on C programming, look at Windows Win32 programming, and consider why we still prefer ANSI C to C++.
Examples
- Wclock is a free, customisable, always-on-top world time clock for Windows computers. The source code is provided.
- BigDigits is a free library of multiple-precision arithmetic routines written in ANSI C to carry out large natural number calculations.
- bdcalc, our command-line calculator and mini-programming language for large natural numbers.
- DBXanalyzerTM reads, analyses and manages email data files created by Microsoft Outlook Express 5 and 6. It has a simple GUI interface and is used by hundreds of happy users worldwide to recover and manage their old Outlook Express emails. 2014-05-31: Now available for free.
- Our Su Doku Solver was written in Excel VBA back in 2004 when the "fiendish" puzzles were first introduced by the Times. This solver will solve almost all Su Doku problems (and takes away all the fun!).
Contact
To contact us, please send us a message.
This page last updated 11 October 2024