PHPackages                             oat-sa/extension-tao-encryption - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. oat-sa/extension-tao-encryption

ActiveTao-extension[Security](/categories/security)

oat-sa/extension-tao-encryption
===============================

Tao Encryption

v6.1.2(2y ago)22.6k1GPL-2.0-onlyPHPPHP &gt;=5.5

Since Feb 23Pushed 5mo ago41 watchersCompare

[ Source](https://github.com/oat-sa/extension-tao-encryption)[ Packagist](https://packagist.org/packages/oat-sa/extension-tao-encryption)[ Docs](http://www.taotesting.com)[ RSS](/packages/oat-sa-extension-tao-encryption/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (14)Versions (60)Used By (1)

Tao Encryption
==============

[](#tao-encryption)

> This article describes the functioning of tao encryption, focusing of encryption of sensitive data information on a database level.

Installation
------------

[](#installation)

You can add the Tao Encryption as a standard TAO extension to your current TAO instance.

```
 $ composer require oat-sa/extension-tao-encryption
```

Encrypted services supported
----------------------------

[](#encrypted-services-supported)

### 1. Results Encryption

[](#1-results-encryption)

- #### Setup scripts for Tao Server instance

    [](#setup-scripts-for-tao-server-instance)

###### Encrypt

[](#encrypt)

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupAsymmetricKeys' generate
```

*Note*:

> This command will generate two keys (public and private) and save them on the filesystem.

*Note*:

> On Client Tao instance. You have to copy the public key.

*Note*:

> On Server Tao instance. You need both keys

###### Decrypt

[](#decrypt)

In order to decrypt your results use the following script by passing a delivery id.

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\DecryptResults' -d
```

Or by passing the -all argument

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\DecryptResults' -all
```

*Note*:

> This command will decrypt results and store in the delivery result storage setup.

- #### Setup scripts for Tao Client instance

    [](#setup-scripts-for-tao-client-instance)

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedResultStorage'
```

- #### Sync Encrypted Result (Run on Server and client)

    [](#sync-encrypted-result-run-on-server-and-client)

In order to sync encrypted results the script needs to be run on the server tao instance and client as well.

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedSyncResult'
```

[![alt text](docs/result_encryption.png)](docs/result_encryption.png)

### 2. Test State data encryption

[](#2-test-state-data-encryption)

- #### Setup scripts for Tao Client instance

    [](#setup-scripts-for-tao-client-instance-1)

In order to use the encrypted state test service you have to run the following command on tao client instance:

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedStateStorage'
```

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedMonitoringService'
```

This service it's using the symmetric algorithm in order to encrypt information.

[![alt text](docs/state_encryption.png)](docs/state_encryption.png)

### 3. User Encryption

[](#3-user-encryption)

- #### Setup scripts for Tao Client instance

    [](#setup-scripts-for-tao-client-instance-2)

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedUser'
```

- #### Setup scripts for Tao Server instance

    [](#setup-scripts-for-tao-server-instance-1)

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupUserEventSubscription'
```

- #### Both Instances

    [](#both-instances)

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupUserSynchronizer'
```

*Note*:

> You should ran this command on client tao instance

[![alt text](docs/user_encryption.png)](docs/user_encryption.png)

### 4. Setup Encrypted File Systems

[](#4-setup-encrypted-file-systems)

- #### Setup scripts for Tao Client instance

    [](#setup-scripts-for-tao-client-instance-3)

```
 $ sudo -u www-data php index.php "oat\taoEncryption\scripts\tools\SetupEncryptedFileSystem" -f private -e taoEncryption/symmetricEncryptionService -k taoEncryption/symmetricFileKeyProvider
```

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupDeliveryEncrypted'
```

- #### Setup scripts for Tao Server instance

    [](#setup-scripts-for-tao-server-instance-2)

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupUserApplicationKey'
```

```
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupRdfDeliveryEncrypted'
```

*Note*:

> Extra You can make TAO file systems encrypted. The following command line enables encryption for the `private` file system, using the service registered with ID `taoEncryption/symmetricEncryptionService` for data encryption/decryption.

```
sudo -u www-data php index.php "oat\taoEncryption\scripts\tools\SetupEncryptedFileSystem" -f private -e taoEncryption/symmetricEncryptionService
```

[![alt text](docs/file_encryption.png)](docs/file_encryption.png)

###  Health Score

44

—

FairBetter than 91% of packages

Maintenance49

Moderate activity, may be stable

Popularity19

Limited adoption so far

Community30

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 59.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~47 days

Recently: every ~213 days

Total

43

Last Release

1055d ago

Major Versions

v2.0.1 → v3.0.02019-08-02

v3.2.2 → v4.0.02019-10-11

v4.0.0 → v5.0.02020-01-03

v5.3.0 → v6.0.02021-02-23

v5.3.0.1 → v6.1.02021-07-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/98ddc6f1b615b1fac2d59f1e72d5dc6056cf6650414271da90cb3f0e203516fe?d=identicon)[bugalood](/maintainers/bugalood)

![](https://www.gravatar.com/avatar/c0ec704e0a8abaf0c27b227ad05d7aca23bc8f83d195229d94d4508cddc0fd24?d=identicon)[oat-lionel](/maintainers/oat-lionel)

![](https://www.gravatar.com/avatar/e8c30644c0da147701176483ca1ca40e1c41012e6c5b0da47e984c1eb8a840b1?d=identicon)[jbout](/maintainers/jbout)

![](https://www.gravatar.com/avatar/348b2cf6408227372fbb22c6e8b0832e1c8c98c5d6b0c88bb220dbdfbcd21a39?d=identicon)[krampstudio](/maintainers/krampstudio)

---

Top Contributors

[![ionutpad](https://avatars.githubusercontent.com/u/31656944?v=4)](https://github.com/ionutpad "ionutpad (209 commits)")[![siwane](https://avatars.githubusercontent.com/u/8009602?v=4)](https://github.com/siwane "siwane (36 commits)")[![tikhanovichA](https://avatars.githubusercontent.com/u/1053022?v=4)](https://github.com/tikhanovichA "tikhanovichA (19 commits)")[![bugalot](https://avatars.githubusercontent.com/u/4217431?v=4)](https://github.com/bugalot "bugalot (18 commits)")[![Yury-Razhkou](https://avatars.githubusercontent.com/u/51408369?v=4)](https://github.com/Yury-Razhkou "Yury-Razhkou (11 commits)")[![augustas](https://avatars.githubusercontent.com/u/2705327?v=4)](https://github.com/augustas "augustas (8 commits)")[![wazelin](https://avatars.githubusercontent.com/u/2943256?v=4)](https://github.com/wazelin "wazelin (7 commits)")[![ks16](https://avatars.githubusercontent.com/u/42937157?v=4)](https://github.com/ks16 "ks16 (7 commits)")[![uncleempty](https://avatars.githubusercontent.com/u/32706312?v=4)](https://github.com/uncleempty "uncleempty (6 commits)")[![zagovorichev](https://avatars.githubusercontent.com/u/1445911?v=4)](https://github.com/zagovorichev "zagovorichev (5 commits)")[![chilly86](https://avatars.githubusercontent.com/u/4863925?v=4)](https://github.com/chilly86 "chilly86 (4 commits)")[![edwin-focaloid](https://avatars.githubusercontent.com/u/126317720?v=4)](https://github.com/edwin-focaloid "edwin-focaloid (4 commits)")[![gyszucs](https://avatars.githubusercontent.com/u/4942018?v=4)](https://github.com/gyszucs "gyszucs (3 commits)")[![jbout](https://avatars.githubusercontent.com/u/5815304?v=4)](https://github.com/jbout "jbout (2 commits)")[![SergiiTao](https://avatars.githubusercontent.com/u/36041347?v=4)](https://github.com/SergiiTao "SergiiTao (1 commits)")[![shpran](https://avatars.githubusercontent.com/u/59471572?v=4)](https://github.com/shpran "shpran (1 commits)")[![ionutpadurariu](https://avatars.githubusercontent.com/u/1894466?v=4)](https://github.com/ionutpadurariu "ionutpadurariu (1 commits)")[![yuryfilippovich](https://avatars.githubusercontent.com/u/50237704?v=4)](https://github.com/yuryfilippovich "yuryfilippovich (1 commits)")[![atsymuk](https://avatars.githubusercontent.com/u/11298742?v=4)](https://github.com/atsymuk "atsymuk (1 commits)")[![jsconan](https://avatars.githubusercontent.com/u/1500098?v=4)](https://github.com/jsconan "jsconan (1 commits)")

---

Tags

encryptionTAOcomputer-based-assessment

### Embed Badge

![Health badge](/badges/oat-sa-extension-tao-encryption/health.svg)

```
[![Health](https://phpackages.com/badges/oat-sa-extension-tao-encryption/health.svg)](https://phpackages.com/packages/oat-sa-extension-tao-encryption)
```

###  Alternatives

[oat-sa/tao-community

TAO is an Open Source e-Testing platform that empowers you to build, deliver, and share innovative and engaging assessments online – in any language or subject matter.

105.1k1](/packages/oat-sa-tao-community)[oat-sa/tao-core

TAO core extension

66140.1k108](/packages/oat-sa-tao-core)[oat-sa/extension-tao-itemqti-pci

1086.9k8](/packages/oat-sa-extension-tao-itemqti-pci)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
