Alan Kaminsky Headshot

Alan Kaminsky

Department of Computer Science
Golisano College of Computing and Information Sciences

Office Location
Office Mailing Address
Department of Computer Science Rochester Institute of Technology 102 Lomb Memorial Drive Rochester, NY 146

Alan Kaminsky

Department of Computer Science
Golisano College of Computing and Information Sciences


BS in Electrical Engineering, Lehigh University; MSE in Computer, Information, and Control Engineering, University of Michigan


With 42 years of computing experience spanning industry and academia, Alan Kaminsky has developed telephone switching system software at Bell Laboratories, developed real-time embedded control software and fuzzy genetic algorithms at Harris Corporation, taught graduate software engineering as an Assistant Professor at the Rochester Institute of Technology, and worked on printer system architectures at Xerox Corporation. While at Xerox, Alan got involved with Sun Microsystems' Jini Network Technology, led the Jini Printing Working Group industry consortium that defined a draft specification for the Jini Print Service, and was part of the expert group that developed the Java Print Service API released as package javax.print in the standard Java platform. Alan was also one of the original members of the Jini Community Technical Oversight Committee.

Now a Professor in the Department of Computer Science at the Rochester Institute of Technology, Alan teaches and conducts research in parallel computing, cryptography, and computational science (primary interests), distributed systems, ad hoc networking, and security (secondary interests). Alan investigates the use of parallel computers to solve problems involving massive amounts of computation, including statistical analysis of cryptographic functions; attacks on cryptographic functions using parallel satisfiability (SAT) solvers; massively parallel stochastic local search algorithms for hard (NP) problems; and massively parallel randomized approximation algorithms for NP problems.

Alan invented Parallel Java 2 and its predecessor Parallel Java, an API and middleware for parallel programming in 100% Java on multicore parallel computers, cluster parallel computers, and GPU accelerated parallel computers. Alan wrote the textbook Big CPU, Big Data: Solving the World's Toughest Computational Problems with Parallel Computing (Creative Commons, 2019), now in its second edition, based on Parallel Java 2. Alan also wrote the textbooks Building Parallel Programs: SMPs, Clusters, and Java (Cengage Course Technology, 2010) and Simulation Simplified (Creative Commons, 2011).

Alan has a B.S. in Electrical Engineering from Lehigh University and an M.S. in Computer Engineering from the University of Michigan.


Areas of Expertise
Parallel computing
Computational science
Distributed systems
Ad hoc networking

Currently Teaching

3 Credits
This course is an introduction to the organization and programming of systems comprising multiple computers. Topics include the organization of multi-core computers, parallel computer clusters, computing grids, client-server systems, and peer-to-peer systems; computer networks and network protocols; network security; multi-threaded programming; and network programming. Programming projects will be required.
3 Credits
This course is a study of the hardware and software issues in parallel computing. Topics include an introduction to the basic concepts, parallel architectures and network topologies, parallel algorithms, parallel metrics, parallel languages, granularity, applications, parallel programming design and debugging. Students will become familiar with various types of parallel architectures and programming environments.

Select Scholarship

Full Patent
Kurdziel, Michael, et al. "Customizable encryption algorithm based on a sponge construction with authenticated and non-authenticated modes of operation." U.S. Patent 9,438,416. 6 Sep. 2016.
Kurdziel, Michael, et al. "Electronic Key Management Using PKI to Support Group Key Establishment in the Tactical Environment." U.S. Patent 8,873,759. 28 Oct. 2014.
Published Conference Proceedings
Werner, Gordon, et al. "Implementing Authenticated Encryption Algorithm MK-3 on FPGA." Proceedings of the IEEE Military Communications Conference 2016 (MILCOM 2016), Baltimore, MD, USA, November 2016. Ed. Jerry Brand. Baltimore, MD: IEEE, 2016. Web.
Kelly, Matthew, et al. "Customizable Sponge-Based Authenticated Encryption Using 16-Bit S-boxes." Proceedings of the IEEE Military Communications Conference 2015. Ed. Qinqing Zhang. Tampa, FL: IEEE, 2015. Web.
Journal Paper
Bajorski, Peter, et al. "Stochastic Analysis and Modeling of a Tree-Based Group Key Distribution Method in Tactical Wireless Networks." Telecommunications System & Management 3. 2 (2014): 115. Web.
Published Article
Kaminsky, Alan, Michael Kurdziel, and Stanislaw Radziszowski. “AnOverview of Cryptanalysis Research for the Advanced Encryption Standard.” Military Communications Conference (MILCOM), 2010. 1310-1316. Print. *
Formal Presentation
Kaminsky, Alan. “Minisymposium MS19 Parallel Crypto: Applications of Parallel Computing in Cryptography.” 14th SIAM Conference on Parallel Processing for Scientific Computing (PP10), Seattle, WA, USA. 24 Feb 2010. Presentation.
Kaminsky, Alan. “Parallel cube tester analysis of the CubeHash one-way hash function.” 14th SIAM Conference on Parallel Processing for Scientific Computing (PP10), Seattle, WA, USA. 24 Feb 2010. Presentation.