Skip to content
Maxime C edited this page Mar 30, 2023 · 7 revisions

Introduction

Welcome to the LibLogicalAccess project web page, an open source RFID library developed in C++ for Linux / Windows, also available on C# for who is using the Microsoft operating system.

Supported hardware

LibLogicalAccess library provides low level commands access and high level generic abstraction for several chip and reader (PC/SC readers like OMNIKEY, STid readers …) of the market on 125Khz (EM4102, HID Prox …), 13.56Mhz ISO14443 / ISO15693 (Mifare Classic, Mifare DESFire Legacy/EV1/EV2, HID iClass …) and 433Mhz frequencies.

You can find the supported hardware list details on this page.

Install LibLogicalAccess

Follow this installation instructions

Build with LibLogicalAccess

Follow this build instructions

Documentation

The generated doxygen API documentation is available here.

Examples:

FAQ:

Use this SDK in other languages on Windows:

Common questions

Is it free?

yes, totally. You have to respect the license terms.

What is the license of this library?

LGPL

Is it Open Source?

Yes

Because of a few legal issues, we had to do some architectural review to match licenses and NDA from several hardware companies. LibLogicalAccess C++ code is completely open, but some dynamic plug-ins not provided with official releases, like HID iClass chips, are closed source. No choices.

Who we are?

We used to be three main contributors working on the same company, ISLOG: Maxime C., Adrien J., Arnaud K. ...

The project has grown significantly thanks mainly to ISLOG adoption of this library into its products targeting the access control industry.

Why another RFID library?

Well, this question didn't exists when this library was created as it was before most current available libraries dealing with RFID. But we make a difference ; a good or a bad one, it depends what you are looking for ;)

  • the library is totally developed in C++. It is not a C library that you can build on your C++ project. It is a C++ library!
  • some projects require native library because they have to run close to the system or for performance reason, it's why C++ is a respectable choice over python, java or other languages.
  • can also be use on C#, Delphi, VB…
  • Windows, Linux & Mac OS compliant, 32-bit and 64-bit.
  • not dependent to a hardware company
  • created in 2005, it was completely review in 2008 to add generic abstraction, it is still highly maintained in 2023
  • support several worldwide used access control RFID technologies
  • it doesn't have any goal to manage modulation, collision … That's the purpose of drivers or other libraries like libnfc. This library is one level above this stuff.
LibLogicalAccess and LibNFC

LibLogicalAccess is not limited to NFC neither ISO 14443. On LibNFC world, LibLogicalAccess can be compared to LibFreefare which is a layer above LibNFC. Since 2015, we also provide a plug-in which use LibNFC as a reader technology for LibLogicalAccess. See liblogicalacccess-libnfc project.

LibLogicalAccess and OpenSC

LibLogicalAccess doesn't have any attempt to support PKCS#11 neither PKCS#15 standards for smart cards (even contactless smart card). OpenSC does that well today and you should take a look on this project if this is your attempt.

Why that name?

That's an easy one. We used to work at ISLOG company which at the beginning was only specialized in logical access solution. It textually means “Library for Logical Access”. But it's restrictive as logical access is only one use case of the library. Again historical reason. librfid name is already overused on the web and we found LibLogicalAccess name cool enough to keep it. Maybe it's just not good enough for marketing ;)…

Clone this wiki locally