My journey

by Richard Evers

I value honesty and appreciate most things that are well engineered, and well done. As a child, I enjoyed taking things apart to learn how they worked. The joy of writing software is often about knowing how things work from the inside. I enjoy creating fast, powerful, secure, stable, efficient software that often forces me to go outside of the box.

I also value security, and despise thievery. I detest criminals, especially those who will do anything to get what they want, who don't care that they can cause human suffering, or worse. That's why I decided to do my part in addressing a growing evil facing the digital world - cybercrime. This is an indirect story of how I came up with a whole new cryptographic solution - Kryptera.

Early Challenges

It has always given me pleasure to create my own well-engineered worlds in software, and cryptography has been a passion of mine for many years.

It started, I suppose, in school. I mostly took advanced level courses in high school. Lots of math, plus physics, electronics, chemistry, biology, physiology, drafting, law, marketing, history, and the rest. I also took one mainframe programming course. We did not have textbooks, were given lectures on the basics of Fortran, had to share two keypunch machines, and the mainframe computer was located in a school in a different district. Batch runs were made once a week. We never had tests nor did we have to write papers. I dropped the course just before the term ended to avoid ruining my honors average. The teacher later told me I would have passed. Overall, my marks were good in school, and I largely enjoyed the experience.

The Takeway: I enjoyed being challenged by difficult courses in school.

Life Changes

I planned to work for a year to raise funds to go to university but life got in the way. I was involved in a major car accident, then got a job with a small dental supply company after I got out of the hospital. I worked for four companies within the dental industry from 1978 to 1982, went to school on a part-time basis from 1978 to 1980 studying dentistry in Toronto, then switched to part-time computer studies from 1980 to 1983.

The Takeaway: I had become an effective manager with experience leading divisions of employees. I was also primed to switch away from dentistry because I had a natural skill with computers.

Early Microcomputers

I got a job in 1982 as the sales manager of Comspec Communications Inc., a Value Added Reseller of computer hardware and software. During this period, I taught myself how to program in Commodore BASIC and MOS assembler.

In 1983, while manning Commodore's booth at a computer show in Mississauga, Ontario, I got bored and wrote some code on a Commodore 8032 computer to torture the video card. After running the program and watching the video display blaze into a series of horrible patterns, culminating in a brilliant dot of light in the centre of the display, I realized I had an audience. Several people were standing behind me, enjoying the destruction I had unleashed on the computer. Karl Hildon, the Editor of Transactor Magazine, took me aside, and offered me a job as the Editor of Transactor. Transactor was an advanced programming journal for Commodore computers. I accepted the offer.

I was Editor of Transactor from 1983 to 1987. (Bill Gates was a subscriber). I wrote software, usually in assembler, pretty much every day during this period, from my home. Additionally, I wrote software to automate transformation of submitted articles into formats we could work with. I also wrote and edited many articles that were usually published. In the spring of 1987, I completed a reverse takeover of the company. After that, I was the Publisher of our magazines and books.

Transactor started as a newsletter created by Karl and published by Commodore Business Machines. It improved each issue, and ran from 1978 to 1982. Frank Baillie of Canadian Micro Distributors in Milton, Ontario, backed Transactor after Commodore stopped publication. Later, BMB Compuscience backed Transactor.

Karl was Editor of Transactor from 1978 to 1983, and became the Managing Editor after I started in 1983. His title was later changed to Editor In Chief. John Mostacci was the Art Director who painted the cover art that graced each issue. Kelly George, Anne Richard, Kathryn Holloway, and Lana Humphries, all in turn handled most everything we failed to handle from within the Milton office.

Chris Zamara was brought in as the Technical Editor in 1984. Chris was an amazing editor, writer and software developer. Nick Sullivan had been writing a regular TransBASIC column for Transactor for several issues, and finally became a full time D'Artagnan Editor (later, Submissions Editor) in 1986. Nick was also an amazing editor, writer and software developer. Chris and Nick were early Amiga developers, and were resposible for the eventual creation of the Transactor for the Amiga magazine.

After the editorial team bought the company in 1987, Jennifer Reddy, then Renanne Turner, handled the front desk. My wife, Donna Evers, handled accounting. Moya Drummond provided general assistance around the company. Malcolm O'Brien was later brought on board as an Editor. I reworked newstand distribution, going through International Periodical Distributors in San Diego, California, and Ingram Micro Canada in Mississauga, Ontario. Our sales-through with IPD reached 90% each issue! I negotiated and helped to set up concurrent publishing operations in England and Australia. And, most importantly, I ensured that revenue flowed, bills and staff were paid, and magazines were published.

A perfect storm started to develop in the early spring of 1988 that eventually forced us to sell our titles in late 1988 to Croftward Publishing in London, England. Croftward bought our magazine titles, then contracted Transactor Publishing Inc. to create the magazines. Croftward ran into financial problems in late 1989, shut down Transactor, and eventually sold out their company to Maxwell Communication Corporation. That company collapsed in 1991 following the death of Robert Maxwell which resulted in a mess that has left ownership of Croftward and our magazines in limbo ever since.

The Takeaway: I learned a great deal about writing, editing and typesetting magazines and books, buying and running a company, magazine and book publishing, magazine distribution, finance, sales, and negotiating contracts. Best of all, I learned far more about designing and developing software. I wrote a great deal of software in several languages during this period.

After I left Transactor, Halvor Moorshead offered me a job as Editor of two of his magazines: Computers in Education, and Government Purchasing Guide. As Editor, I authored, edited and typeset content for both magazines. We used Ventura Publisher to typeset all of the publications. I also edited Electronics and Technology Today magazine for one issue. I gradually transitioned into the development and maintenance of software, administered their internal network, repaired hardware, and helped sort out technical problems within the company. Moorshead Publications contracted me to handle the same type of work for about a year after I left the company.

The Takeaway: I learned more about writing, editing and typesetting magazines. I also learned more about designing and developing software in new languages, and network administration.

My interest in crypto came out of my skills in pushing the edge with software.

Assembler: 1982 to 1996

  • Intel (8051, 808x, 80x86)
  • MOS (65xx, 85xx)
  • Motorola (68xx, 68xxx)
  • Zilog (Z80x)

I largely developed in assembler in my early years. It was fun to write code that worked at a hardware level.

The Takeaway: I learned how to live and breath bit-level manipulation of data types, and write really fast, highly optimized code.

C/C++, and more: 1986 to date

I developed a huge amount of code in C and C++, with the greatest life changes occurring when I had to think outside of the box.

In 1993 I became the sole contract developer of a CD-ROM version of Termium for the Canadian Secretary of State, Linguistic Services.

Canada is officially a bilingual country, and Termium began as a digital dictionary of engineering terminology, initially for building a new generation of military frigates.

Termium had about a gigabyte of source data, stored on a VAX/VMS computer, and archived to magnetic optical media. Termium had to work on three platforms. Scrollable text display had to show French on the left side, and English on the right. Full word and phrase searches had to be provided, using multiple indexes with immediate match refresh while users typed characters. Users could also perform word searches using an unlimited number of Boolean operators.

Working out a Solution

I had to find ways to store a gigabyte of source data, plus word and phrase indexes, and software for three platforms, on a single CD-ROM.

A CD-ROM was a slow media at the time, and could store only 700 MB of data.

The source data was the first to go. I wrote code to parse out all words from the source, then sorted the result by word, listing how many times each word was used. From there, I developed methods to replace specific words with one or two byte tokens, optimized by maximum savings by word incidence and word length. This reduced storage of source data to about 300 megabytes, while speeding up the display of text.

The next thing was to find ways to reduce word and phrase index overhead, while speeding up search. This proved to be a bear because CD-ROM media was extremely slow, and indexed searches using conventional indexes were far too slow to use.

I invented and developed techniques that sped up word and phrase searches by about 1,700 percent compared to conventional indexes. Index storage was also reduced to 17 percent of conventional index storage. Search memory use was also greatly reduced by tracking search results by Boolean operator at a bit level.

The Takeaway: One-way encryption of characters, words and phrases, word tokenization, and bit-level row tracking. That plus multi-platform development.

* Termium today is a global resource available in four languages.

Project Neutrino

In 1995, I invented and developed several new crypto algorithms while creating a new way to compress files. I called the project Neutrino.

I eventually hit a wall: Neutrino could not compress data beyond the current levels of zip compression. I traced the fault to math: it proved to be impossible to go much further.

The Takeaway: I invented several unique encryption and data compression techniques.

Other Projects

Canadisk was our first CD-ROM product that had a large following. Dr Alastair Sweeny put together all of the content, where I made it come together from a software perspective, designing a CD indexing system from scratch. Encyclopaedia Britannica partnered with us and also handled Canadian distribution. The Canadisk CD-ROM was licensed by the Ontario Ministry of Education for use by schools and libraries across the province. Canadisk went through several revisions, and was also translated into French. It was Canada's first multimedia CD-ROM.

During these years, I wrote a lot of custom and commercial software for companies that included Matsushita Electric Company (Panasonic), Eicon Technologies Inc., Nelson Canada, Claymore Inc., and Telemedia. I also developed Photon, a high-speed, low-overhead web search engine, and a matching search bot. Additionally, I wrote the Waterloo web browser, which was designed to work with a web proxy service I created that provided inclusionary access to the Internet.

The Takeaway: My skills as a multi-platform developer greatly improved during this phase. I also gained a lot of experience writing Windows services and Unix daemons, and developing code that operated across the Internet.

In 1997, I moved into a role where I administered, and coded for the Informix RDBMS. My role also included administration, and coding for Sun servers running Solaris. My role was expanded within a year or so to include coding for Oracle Enterprise Server in SQL, PL/SQL and Pro*C. I handled data migration and transformation from our legacy systems to jointly perform installation and configuration of the Siebel CRM. Later, I designed and developed a PL/SQL bridge between the Siebel CRM and the OneWorld ERP . I also taught introductory and advanced Unix courses at a local college, and designed the curriculum for each course taught.

The Takeaway: I enjoyed solving "impossible" problems. I was an exceptional software developer, loved working with large database systems, was really good at writing PL/SQL code, and was a natural with Unix servers.

In 2001, I moved into a role where I administered and coded for Oracle Enterprise Server, DB2, SQL Server, and Lotus Notes GWI, and administered HPUX, AIX, and Sun Solaris servers. I developed under Rational Clear Quest, and created technical training programs that largely centred around Cognos Impromptu, Transformer and PowerPlay OLAP products, and CheckFree's i-Series Engine and TelCognos module. I also assisted the documentation team in preparing new documentation, and refined existing documentation.

The Takeaway: My strengths steadily improved as a database administrator, Unix server administrator, curriculum developer, technical trainer, and technical writer.

In 2002, I created and hosted my first LAMP server in Florida. Since then, I have designed and created several Linux networks. I have also created and administered MySQL, MariaDB and PostgreSQL relational database systems.

Also in 2002, I began work for Research In Motion. RIM created BlackBerry, and was selling four C/C++ versions when I started (850, 857, 950, and 957). We had less than a million users at the time. The growth stage hit after we got into the swing of Java-based devices. Our biggest initial stumbling block came from our carrier network. They were not equipped to sell high-end devices like BlackBerry into consumer space. They eventually got into the flow, and RIM's revenue grew to close to USD $20 billion/year by the time I chose to leave.

While with RIM, I invented technology that was patented, and wrote a slew of stellar code in C, C++, Java, Pro*C, and a few scripting languages. I authored, edited, typeset and published several issues of the BlackBerry Developer Journal, developed training material, authored and edited technical books, and developed a business plan to create a book and magazine publishing division. I also moderated the BlackBerry Developer Forum, and administered, and developed content for, the BlackBerry Developer Knowledgebase. It was a good company to work for. Mike Lazaridis and Jim Balsillie were the driving force behind the company. Mike mostly focused on the technology, where Jim largely focused on sales. For me, security, privacy, and well-designed, well-engineered, hardware and software, made BlackBerry exceptional in every way.

The Takeaway: I came away with far stronger skills as a software developer, with a greater range of language experience, and far more knowledge of security, encryption, networking, and mobile development. I also refined my editorial and writing skills.

A slight veer:
books I have co-authored

.. and ...
books I technically edited

BlueCat

I left RIM in late 2009 to work for BlueCat Networks developing code in C/C++ and Java. BlueCat was founded by Richard Hyatt and Michael Hyatt. I first met Richard while I was with Transactor. Richard was in high school and working part-time at Jay Chauhan's law office in Richmond Hill, Ontario. I liked Richard, and realized he wanted to become a software developer. I brought him some books and software that helped him to eventually reach his goal. I was in touch with Richard, his brother, Michael, and their parents, a few years later after they had started Dyadem International, Ltd. We were unable to find a way to work together at the time, mainly because I lived about 120 km from Dyadem, and did not want to commute each day. I got in touch with Richard while I was in the final stretch of my time at RIM, and we came to an agreement for me to work for BlueCat mostly from my home.

The Takeaway: I learned a great deal about the inner workings of high availability servers, developing C++ code using Boost libraries, refactoring large Java code bases, and working under an Agile development environment.

Fibernetics

I worked for Fibernetics Canada from 2011 to 2012, developing code in Java, Perl, WSDL, and DTD, implementing Salesforce.com, and coding for PostgreSQL.

The Takeaway: I gained experience with SOAP, became a huge proponent of Debian Linux, enjoyed working with PostgreSQL, and got a decent handle on how CLECs work from a networking perspective.

I took on the role of sole developer of the ArtyArt site [https://artyart.com is no longer hosted] in 2012. ArtyArt proved to be an interesting experience. I designed and developed software in PHP, HTML5, JavaScript, and SQL every day for a three year period to create the site. I designed and created the MySQL database, and also designed, created, configured and administered the virtualized Debian network that the ArtyArt site was hosted on.

The Takeaway: I learned how to create a highly secure, scalable site, with a highly secure authentication system, coupled with highly secure data and code design and storage. I strengthened my development skills, and improved my skills as a software, network and database architect, and server and database administrator.

Kryptera

In 2012, I invented a new encryption algorithm I called Theo.

I worked through the logic of Theo at home at night, brainstorming with a pad of paper to plot out the results of the algorithm. It was a rush when everything gelled and I could reliably encrypt and decrypt sample data on paper. At the time I came up with the idea of providing random data to the Theo algorithm to make it unbreakable. I put Theo on the back burner once I started development of the ArtyArt site.

In late November, 2014, my wife and I went to Costa Rica for our wedding anniversary. It proved to be a wonderful experience for the both of us. Relaxing under a beach umbrella also gave me a chance to mull over and refine my encryption technology.

After we got home, I created my first software model of Theo, with supporting technology that I later called Kryptera. It worked extremely well, and proved that, using mathematics and strict protocols, it was possible to create unbreakable encryption.

I further designed Kryptera to mass encrypt hoards of files without the need of passwords or external private keys.

Since then I have fully refined the technology, creating two products in C/C++:

  • Kryptera Enterprise:
    • A highly customizable, scalable solution that provides clients immense flexibility.
  • Kryptera Mirage:
    • Extremely fast, and designed to process massive files in real time such as movies, television shows, database backups and more.

Kryptera quickly and safely mass encrypts and decrypts files without requiring use of passwords or external private keys.

Kryptera is preinstalled on a stand alone server. It is used to quickly and safely mass encrypt and decrypt files without requiring use of passwords or external private keys. Enterprise and Mirage directly handle key management directly in an extremely secure manner. Both product lines can be customized to become secure nodes.

Probabilistic cyphertext is more secure than deterministic cyphertext. Kryptera is probabilistic where AES is deterministic. This means that Kryptera always creates randomly unique cyphertext, where AES does not.

Kryptera-encrypted files are secure against attacks.

Kryptera is a fast, powerful, secure, stable solution to a crime that spans the world: data theft.

The Internet has improved our lives in myriad ways. Cyber criminals want to profit from our good fortune and steal our livelihood in as many ways as possible. I hope my solution will benefit the world, and help stop these parasites in their tracks.

Quarry Integrated Communications

I took on the role of backend software developer, database and server administrator for Quarry Integrated Communications in 2016. The title listed on my business card is Code Designer. Quarry was a wonderful company to work at. The people and atmosphere were terrific in every way. These are the things I handled during the two years I was with Quarry:

Developed and maintained software for [no longer hosted] sites including:

  • Wyndham Hotel Chain Primary Corporate Site
  • Wyndham Hotel Chain Canadian Corporate Site
  • Wyndham Hotel Chain EMEA Corporate Site
  • Wyndham Hotel Chain Latin America Corporate Site
  • Wyndham Hotel Chain SEAPR Corporate Site
  • Avis Budget Neighborhood Corporate Site
  • Realogy Corporate Site

I developed a lot of software in PHP, HTML, JavaScript, SQL, YAML and Bash, handled server administration of virtualized RedHat, Centos, and Debian Linux servers, and administration of MySQL/MariaDB database systems. I also designed and developed a Docker-based 1-n site hosting solution, created Linux, database and cryptography training documentation, plus performed extensive technical research on Blockchain and cryptocurrencies.

The Takeaway: I learned a great deal about handling critical site and server related issues as quickly and well as possible, and learned a lot about the power and versatility of using Docker. I expanded my knowledge of Linux, database systems, and cryptography too. Best of all, I learned that there are a lot of really great people working out of the St. Jacob's office of Quarry!